Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 10163|Odpověď: 4

[Zdroj] Program .NET testuje Java projekt log4j2 na zranitelnost vzdáleného vykonávání kódu

[Kopírovat odkaz]
Zveřejněno 11. 12. 2021 21:06:29 | | | |
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)





Předchozí:[Skutečný boj]. NET/C# Vytvořte databázi SQLite a jednoduše přidávejte, mažte, upravujte
Další:CentOS systémový nasazení nacos tutoriál
 Pronajímatel| Zveřejněno 13. 12. 2021 13:37:35 |
Po Java 8 121 jsou k reprodukci zranitelnosti potřeba následující konfigurace:

 Pronajímatel| Zveřejněno 19. 12. 2021 12:10:22 |
Zveřejněno 2021-12-20 23:09:51 |
Pojďme sledovat fungování šéfa
Zveřejněno 26. 12. 2021 16:54:47 |
Přijďte se znovu učit。。。。。。。
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com