Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 10163|Vastaus: 4

[Lähde] .NET-ohjelma testaa Java-projektin log4j2:ta etäkoodin suorituksen haavoittuvuuden varalta

[Kopioi linkki]
Julkaistu 2021-12-11 21:06:29 | | | |
Viimeisen kahden päivän aikana se on joutunut ystäväpiirin keskuudessa "Apache Log4j2 etäkoodin suoritushaavoittuvuudelle", pääasiassa komponentin Java JNDI -injektion haavoittuvuuden vuoksi: kun ohjelma kirjoittaa käyttäjän syöttämän datan lokiin, hyökkääjä rakentaa erityisen pyynnön laukaistakseen etäkoodin suoritushaavoittuvuuden Apache Log4j2:ssa, hyödyntäen tätä haavoittuvuutta suorittaakseen mielivaltaista koodia kohdepalvelimella.

Vaikutusalueen laajuus

Apache Log4j 2.x <= 2.14.1

JNDI (Java Naming and Directory Interface) on Java:n tarjoama Java-nimen ja hakemistorajapinnan rajapinta. Kutsumalla JNDI:n API:ta sovellukset voivat paikantaa resursseja ja muita ohjelmaobjekteja. JNDI on tärkeä osa Java EE:tä, ja on huomattava, että se ei sisällä pelkästään DataSourcea (JDBC data source), vaan JNDI voi käyttää olemassa olevia hakemistoja ja palveluita kuten: JDBC, LDAP, RMI, DNS, NIS, CORBA, ote Baidu-tietosanakirjasta.

Internetissä on paljon artikkeleita haavoittuvuuksien korjaamisesta ja kuvakaappauksia, mutta vähän siitä, miten projektia voidaan testata haavoittuvuuden varalta.Java käyttää pääasiassa Log4j2:ta koodin testaamiseenSeuraavasti:


Yksinkertaisesti sanottuna Log4j2 pääsee käsiksi seuraavaan osoitteeseen RMI- tai LDAP-protokollan kautta, ja protokollan sisällön mukaan se voi suorittaa pahantahtoisesti rakennettua koodia.

Haavoittuvuuden olemassaolo todistetaan lähes aina internetissä avaamalla Windows-laskin, ja koodi on seuraava:

Koska Log4J2 käyttää RMI- tai LDAP-protokollia hyökkääjän palvelimelle pääsyyn, ja sekä RMI- että LDAP-protokollat perustuvat TCP-protokolliin, voimme tehdä sen suoraanKäyttämällä .NET:iä TCP-portin kuunteluun, jos log4j2:lle kutsutaan lokien tulostamiseksi .NET-kuunteluluportille, se todistaa, että haavoittuvuus saattaa olla olemassa, ja jos ei, se on turvallinen

.NET tuottaa hyvin pieniä testiohjelmia6kb, koodi on seuraava:

Kokeile käyttää log4j-komponenttia2.14.0Versio on painettu, ja renderöinti on seuraava:



Kokeile päivittää log4j-komponentti muotoon2.15.0versio, suoritettuna uudelleen, vaikutus on seuraava:



Version päivityksen jälkeen huomataan, että kun kutsutaan tulostuslokkia,Java-ohjelma ei enää pääse käsiksi ulkoiseen porttiin

Kiinnostuneet ystävät, voitte katsoa seuraavaa linkkiä toistaaksesi haavoittuvuuden ja avata laskurin.

Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.

Lopuksi liitä testimenettely:

测试程序.rar (2.66 KB, Latausten määrä: 1)





Edellinen:[Varsinaista taistelua]. NET/C# Luo SQLite-tietokanta ja yksinkertaisesti lisää, poista, muokkaa
Seuraava:CentOS-järjestelmän käyttöönoton nacos-opas
 Vuokraisäntä| Julkaistu 2021-12-13 klo 13:37:35 |
Java 8 121:n jälkeen haavoittuvuuden toistamiseen tarvitaan seuraavat asetukset:

 Vuokraisäntä| Julkaistu 2021-12-19 klo 12:10:22 |
Julkaistu 2021-12-20 23:09:51 |
Katsotaanpa pomon toimintaa
Julkaistu 2021-12-26 klo 16:54:47 |
Tule ja opi uudelleen。。。。。。。
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com