|
|
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ítsdKövetkező:CentOS system deployment nacos tutorial
|