Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 10163|Svar: 4

[Kilde] .NET-programmet tester Java-projektets log4j2 for en sårbarhed ved fjernkodeudførelse

[Kopier link]
Opslået den 2021-12-11 kl. 21:06:29 | | | |
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)





Tidligere:[Egentlig kamp]. NET/C# Opret en SQLite-database og tilføj simpelthen, slet eller modificerer
Næste:CentOS systemudrulning nacos tutorial
 Udlejer| Opslået den 13-12-2021 kl. 13:37:35 |
Efter Java 8 121 kræves følgende konfigurationer for at genskabe sårbarheden:

 Udlejer| Opslået den 19-12-2021 12:10:22 |
Opslået den 20-12-2021 kl. 23:09:51 |
Lad os observere chefens funktion
Opslået den 26-12-2021 16:54:47 |
Kom og lær igen。。。。。。。
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com