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)
|