Za poslední dva dny byl v okruhu přátel přetažen "zranitelností vzdáleného spuštění kódu Apache Log4j2", hlavně kvůli zranitelnosti Java JNDI injection v komponentě: když program zapíše data zadaná uživatelem do logu, útočník vytvoří speciální požadavek na spuštění zranitelnosti vzdáleného spuštění kódu v Apache Log4j2, čímž tuto zranitelnost zneužije k vykonání libovolného kódu na cílovém serveru.
Rozsah vlivu
Apache Log4j 2.x <= 2.14.1
JNDI (Java Naming and Directory Interface) je Java rozhraní pro pojmenování a adresáře poskytované Javou. Voláním API JNDI mohou aplikace lokalizovat zdroje a další programové objekty. JNDI je důležitou součástí Java EE, je třeba poznamenat, že nezahrnuje pouze DataSource (zdroj dat JDBC), JNDI však umožňuje přístup k existujícím adresářům a službám, jako jsou: JDBC, LDAP, RMI, DNS, NIS, CORBA, převzato z Baidu Encyclopedia. Na internetu je mnoho článků o tom, jak opravit zranitelnosti a screenshotů zranitelností, ale málo o tom, jak projekt testovat na tuto zranitelnost.Java používá Log4j2 hlavně k testování kóduNásledovně:
Jednoduše řečeno, Log4j2 přistupuje k následující adrese prostřednictvím protokolu RMI nebo LDAP a podle obsahu protokolu může spouštět zlomyslně vytvořený kód.
Existence zranitelnosti je téměř vždy ověřena na internetu otevřením kalkulačky Windows a kód je následující:
Protože Log4J2 používá protokoly RMI nebo LDAP k přístupu k serveru útočníka a jak RMI, tak LDAP jsou založené na TCP, můžeme to udělat přímoPoužitím .NET pro poslech na TCP portu, pokud volání log4j2 pro vytištění logů přistupuje k .NET listening portu, dokazuje to, že může existovat zranitelnost, a pokud ne, je to bezpečné。
.NET generuje velmi malé testovací programy6kb, kód je následující:
Zkuste použít komponentu log4j2.14.0Verze je vytištěna a renderování je následující:
Zkuste upgradovat komponentu log4j na2.15.0Opět provedené, efekt je následující:
Po aktualizaci verze se zjistí, že po vyvolání tiskového logu,Java program již nepřistupuje k externímu portu。
Zájemci, přátelé, můžete se podívat na následující odkaz, abyste zreprodukovali zranitelnost a vyvolali kalkulačku.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Nakonec přiložte testovací postup:
测试程序.rar
(2.66 KB, Počet stažení: 1)
|