I de seneste to dage er den blevet swipet af "Apache Log4j2 remote code execution vulnerability" i vennekredsen, hovedsageligt på grund af Java JNDI-injektionssårbarheden i komponenten: når programmet skriver de data, brugeren indtaster, i loggen, konstruerer angriberen en særlig anmodning for at udløse fjernkodeeksekveringssårbarheden i Apache Log4j2, og udnytter dermed denne sårbarhed til at køre vilkårlig kode på målserveren.
Indflydelsesområde
Apache Log4j 2.x <= 2.14.1
JNDI (Java Naming and Directory Interface) er en Java-navngivnings- og mappegrænseflade, som Java leverer. Ved at kalde JNDIs API kan applikationer lokalisere ressourcer og andre programobjekter. JNDI er en vigtig del af Java EE, det skal bemærkes, at det ikke kun inkluderer DataSource (JDBC datakilde), men også kan få adgang til eksisterende kataloger og tjenester såsom: JDBC, LDAP, RMI, DNS, NIS, CORBA, uddrag fra Baidu Encyclopedia. Der findes mange artikler på internettet om, hvordan man retter sårbarheder, og screenshots af sårbarheder, men lidt om, hvordan man tester projektet for sårbarheder.Java bruger hovedsageligt Log4j2 til at teste kodenSom følger:
Enkelt sagt vil Log4j2 få adgang til følgende adresse via RMI- eller LDAP-protokollen, og afhængigt af protokollens indhold kan den udføre ondsindet konstrueret kode.
Sårbarhedens eksistens bevises næsten altid på internettet ved at åbne en Windows-lommeregner, og koden er som følger:
Da Log4J2 bruger RMI- eller LDAP-protokoller til at få adgang til angriberens server, og både RMI- og LDAP-protokoller er TCP-baserede, kan vi gøre det direkteVed at bruge .NET til at lytte på en TCP-port, hvis et kald til log4j2 for at udskrive logfiler får adgang til .NET-lytteporten, beviser det, at der kan være en sårbarhed, og hvis ikke, er det sikkert。
.NET genererer meget små testprogrammer6kb, koden er som følger:
Prøv at bruge log4j-komponenten2.14.0Versionen er printet, og renderingen er som følger:
Prøv at opgradere log4j-komponenten til2.15.0versionen, udført igen, er effekten som følger:
Efter opgradering af versionen viser det sig, at efter at have kaldt printloggen,Java-programmet tilgår ikke længere den eksterne port。
Interesserede venner, I kan henvise til følgende link for at genskabe sårbarheden og åbne lommeregneren.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Endelig vedhæfter du testproceduren:
测试程序.rar
(2.66 KB, Antal downloads: 1)
|