Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 10163|Antwoord: 4

[Bron] Het .NET-programma test het Java-project log4j2 op een kwetsbaarheid voor externe code-uitvoering

[Link kopiëren]
Geplaatst op 11-12-2021 21:06:29 | | | |
In de afgelopen twee dagen is het in de vriendenkring gegrepen door de "Apache Log4j2 remote code execution offensability", voornamelijk vanwege de Java JNDI-injectiekwetsbaarheid in de component: wanneer het programma de door de gebruiker ingevoerde gegevens in het logboek schrijft, construeert de aanvaller een speciaal verzoek om de remote code execution-kwetsbaarheid in Apache Log4j2 te activeren, waardoor deze kwetsbaarheid wordt uitgebuit om willekeurige code op de doelserver uit te voeren.

Reikwijdte van invloed

Apache Log4j 2.x <= 2.14.1

JNDI (Java Naming and Directory Interface) is een Java-naamgeving en directory-interface die door Java wordt aangeboden. Door de API van JNDI aan te roepen, kunnen applicaties resources en andere programmaobjecten lokaliseren. JNDI is een belangrijk onderdeel van Java EE; het moet worden opgemerkt dat het niet alleen DataSource (JDBC-databron) bevat, maar ook bestaande directories en diensten kan benaderen zoals: JDBC, LDAP, RMI, DNS, NIS, CORBA, een fragment uit de Baidu Encyclopedia.

Er zijn veel artikelen op internet over hoe je kwetsbaarheden kunt oplossen en screenshots van kwetsbaarheden, maar weinig over hoe je het project op de kwetsbaarheid kunt testen.Java gebruikt Log4j2 voornamelijk om de code te testenAls volgt:


In eenvoudige termen zal Log4j2 het volgende adres bereiken via het RMI- of LDAP-protocol, en afhankelijk van de inhoud van het protocol kan het kwaadaardig geconstrueerde code uitvoeren.

Het bestaan van de kwetsbaarheid wordt bijna altijd op internet bewezen door een Windows-rekenmachine te openen, en de code is als volgt:

Omdat Log4J2 RMI- of LDAP-protocollen gebruikt om toegang te krijgen tot de server van de aanvaller, en zowel RMI- als LDAP-protocollen TCP-gebaseerd zijn, kunnen we dit direct doenMet .NET om te luisteren op een TCP-poort, en een oproep naar log4j2 om logs te printen toegang geeft tot de .NET-luisterpoort, bewijst dit dat er mogelijk een kwetsbaarheid is, en zo niet, dan is het veilig

.NET genereert zeer kleine testprogramma's6kb, de code is als volgt:

Probeer de log4j-component te gebruiken2.14.0De versie is gedrukt en de weergave is als volgt:



Probeer de log4j-component te upgraden naar2.15.0versie, opnieuw uitgevoerd, is het effect als volgt:



Na het upgraden van de versie blijkt dat na het aanroepen van het printlogboek,Het Java-programma heeft geen toegang meer tot de externe poort

Geïnteresseerde vrienden, u kunt de volgende link raadplegen om de kwetsbaarheid te reproduceren en de rekenmachine tevoorschijn te halen.

De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.

Voeg tot slot de testprocedure toe:

测试程序.rar (2.66 KB, Aantal downloads: 1)





Vorig:[Echte gevechten]. NET/C# Maak een SQLite-database aan en voeg simpelweg toe, verwijder en wijzig
Volgend:CentOS systeemimplementatie nacos tutorial
 Huisbaas| Geplaatst op 13-12-2021 13:37:35 |
Na Java 8 121 zijn de volgende configuraties vereist om de kwetsbaarheid te reproduceren:

 Huisbaas| Geplaatst op 19-12-2021 12:10:22 |
Geplaatst op 20-12-2021 23:09:51 |
Laten we de werking van de baas observeren
Geplaatst op 26-12-2021 16:54:47 |
Kom en leer opnieuw。。。。。。。
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com