Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 10163|Răspunde: 4

[Sursă] Programul .NET testează proiectul Java log4j2 pentru o vulnerabilitate la execuția de cod la distanță

[Copiază linkul]
Postat la 2021-12-11 21:06:29 | | | |
În ultimele două zile, a fost swipe de "vulnerabilitatea de execuție la distanță a codului Apache Log4j2" din cercul prietenilor, în principal din cauza vulnerabilității Java JNDI injection din componentă: când programul scrie datele introduse de utilizator în jurnal, atacatorul construiește o cerere specială pentru a declanșa vulnerabilitatea de execuție la distanță a codului în Apache Log4j2, exploatând astfel această vulnerabilitate pentru a executa cod arbitrar pe serverul țintă.

Sfera de influență

Apache Log4j 2.x <= 2.14.1

JNDI (Java Naming and Directory Interface) este o interfață de denumire și directoare Java oferită de Java. Prin apelarea API-ului JNDI, aplicațiile pot localiza resurse și alte obiecte de program. JNDI este o parte importantă a Java EE, trebuie menționat că nu include doar DataSource (sursa de date JDBC), ci și JNDI poate accesa directoare și servicii existente precum: JDBC, LDAP, RMI, DNS, NIS, CORBA, extras din Enciclopedia Baidu.

Există multe articole pe Internet despre cum să corectezi vulnerabilitățile și capturi de ecran ale vulnerabilităților, dar puțin despre cum să testezi proiectul pentru vulnerabilitate.Java folosește Log4j2 pentru a testa codul în principalAșa cum urmează:


Pe scurt, Log4j2 va accesa următoarea adresă prin protocolul RMI sau LDAP și, conform conținutului protocolului, poate executa cod construit malefic.

Existența vulnerabilității este aproape întotdeauna dovedită pe Internet prin deschiderea unui calculator Windows, iar codul este următorul:

Deoarece Log4J2 folosește protocoale RMI sau LDAP pentru a accesa serverul atacatorului, iar atât protocoalele RMI cât și LDAP sunt bazate pe TCP, putem face asta directFolosind .NET pentru a asculta pe un port TCP, dacă un apel către log4j2 pentru a imprima jurnalele accesează portul de ascultare .NET, se dovedește că ar putea exista o vulnerabilitate, iar dacă nu, devine sigur

.NET generează programe de testare foarte mici6kb, codul este următorul:

Încearcă să folosești componenta log4j2.14.0Versiunea este tipărită, iar redarea este următoarea:



Încearcă să upgradezi componenta log4j la2.15.0versiune, executată din nou, efectul este următorul:



După actualizarea versiunii, se constată că după apelarea jurnalului de printare,Programul Java nu mai accesează portul extern

Prieteni interesați, puteți consulta următorul link pentru a reproduce vulnerabilitatea și a accesa calculatorul.

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

În final, atașați procedura de testare:

测试程序.rar (2.66 KB, Numărul de descărcări: 1)





Precedent:[Luptă propriu-zisă]. NET/C# Creează o bază de date SQLite și pur și simplu adaugă, șterge, modifică
Următor:Tutorial de implementare a sistemului CentOS pentru nacos
 Proprietarul| Postat pe 2021-12-13 13:37:35 |
După Java 8 121, următoarele configurații sunt necesare pentru a reproduce vulnerabilitatea:

 Proprietarul| Postat la 2021-12-19 12:10:22 |
Postat la 20-12-2021 23:09:51 |
Să observăm funcționarea șefului
Postat la 26-12-2021 16:54:47 |
Vino și învață din nou。。。。。。。
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com