Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 10163|Válasz: 4

[Forrás] A .NET program a Java projekt log4j2-t teszteli távoli kódfuttatási sebezhetőség után

[Linket másol]
Közzétéve: 2021-12-11 21:06:29 | | | |
Az elmúlt két napban a baráti körben elkapta az "Apache Log4j2 távoli kód végrehajtási sebezhetőség", főként a komponensben található Java JNDI injektálás sebezhetősége miatt: amikor a program a felhasználó által bevitelt adatokat írja a naplóba, a támadó egy speciális kérést készít, hogy elindítsa a távoli kód végrehajtási sebezhetőségét az Apache Log4j2-ben, így ezt a sebezhetőséget kihasználva tetszőleges kódot futtatva a célszerveren.

A befolyás hatóköre

Apache Log4j 2.x <= 2.14.1

A JNDI (Java Naming and Directory Interface) egy Java által biztosított Java névadási és könyvtárkezelő felület. A JNDI API-jának meghívásával az alkalmazások megtalálhatják az erőforrásokat és más programobjektumokat. A JNDI fontos része a Java EE számára, meg kell jegyezni, hogy nemcsak a DataSource-t (JDBC adatforrás) tartalmazza, hanem a JNDI hozzáférhet meglévő könyvtárakhoz és szolgáltatásokhoz, mint például: JDBC, LDAP, RMI, DNS, NIS, CORBA, részlet a Baidu Enciklopédiából.

Az interneten sok cikk található arról, hogyan lehet sebezhetőségeket javítani és képernyőképek a sebezhetőségekről, de keveset arról, hogyan lehet tesztelni a projektet a sebezhetőség szempontjából.A Java főként a Log4j2-t használja a kód teszteléséreKövetkezőképpen:


Egyszerűen fogalmazva, a Log4j2 az alábbi címhez fér hozzá az RMI vagy LDAP protokollon keresztül, és a protokoll tartalmának megfelelően végrehajthatja a rosszindulatú kódot.

A sebezhetőség létezését szinte mindig az interneten igazolják Windows kalkulátor megnyitásával, és a kód a következő:

Mivel a Log4J2 RMI vagy LDAP protokollokat használ a támadó szerverének eléréséhez, és mind az RMI, mind az LDAP protokollok TCP-alapúak, közvetlenül is meg tudjuk csinálniHa a .NET segítségével hallgatva egy TCP porton, ha a log4j2-re való hívás naplók nyomtatására eléri a .NET hallgató portot, az bizonyítja, hogy sebezhetőség lehet, ha nem, akkor biztonságosnak bizonyul

A .NET nagyon kis tesztprogramokat generál6kb, a kód a következő:

Próbáld meg a log4j komponenst használni2.14.0A változat nyomtatásban van, és a képalkotás a következő:



Próbáld meg frissíteni a log4j komponenst2.15.0verziót is végrehajtva, a hatás a következő:



A verzió frissítése után kiderül, hogy a nyomtatási napló hívása utánA Java program már nem fér hozzá a külső porthoz

Érdeklődő barátok, a következő linken keresztül reprodukálhatjátok a sebezhetőséget, és hívhatjátok fel a kalkulátort.

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.

Végül csatoljuk a teszteljárást:

测试程序.rar (2.66 KB, Letöltések száma: 1)





Előző:[Valódi harc]. NET/C# Hozzon létre SQLite adatbázist, és egyszerűen add hozzá, töröld, módosítsd
Következő:CentOS system deployment nacos tutorial
 Háziúr| Közzétéve: 2021-12-13 13:37:35 |
A Java 8 121 után a sebezhetőség reprodukálásához a következő konfigurációk szükségesek:

 Háziúr| Közzétéve: 2021-12-19 12:10:22 |
Közzétéve: 2021-12-20 23:09:51 |
Figyeljük meg a főnök működését
Közzétéve 2021-12-26 16:54:47-en |
Gyere és tanulj újra。。。。。。。
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com