V zadnjih dveh dneh ga je v krogu prijateljev ukradel "ranljivost za oddaljeno izvajanje kode Apache Log4j2", predvsem zaradi ranljivosti Java JNDI injection v komponenti: ko program vpiše podatke, ki jih je uporabnik vnesel v dnevnik, napadalec ustvari posebno zahtevo za sprožitev ranljivosti za oddaljeno izvajanje kode v Apache Log4j2, s čimer izkoristi to ranljivost za izvajanje poljubne kode na ciljnem strežniku.
Obseg vpliva
Apache Log4j 2.x <= 2.14.1
JNDI (Java Naming and Directory Interface) je Java vmesnik za poimenovanje in imenike, ki ga zagotavlja Java. S klicem JNDI API-ja lahko aplikacije locirajo vire in druge programske objekte. JNDI je pomemben del Java EE, treba je poudariti, da ne vključuje le DataSource (JDBC podatkovni vir), JNDI pa lahko dostopa do obstoječih imenikov in storitev, kot so: JDBC, LDAP, RMI, DNS, NIS, CORBA, izsek iz Baidu enciklopedije. Na internetu je veliko člankov o tem, kako popraviti ranljivosti in posnetkov zaslona ranljivosti, a malo o tem, kako testirati projekt glede ranljivosti.Java uporablja Log4j2 predvsem za testiranje kodeKot sledi:
Preprosto povedano, Log4j2 bo dostopal do naslednjega naslova prek protokola RMI ali LDAP in glede na vsebino protokola lahko izvaja zlonamerno sestavljeno kodo.
Obstoj ranljivosti je skoraj vedno dokazan na internetu z odpiranjem Windows kalkulatorja, koda pa je naslednja:
Ker Log4J2 uporablja protokole RMI ali LDAP za dostop do strežnika napadalca, in sta tako RMI kot LDAP protokola osnovana na TCP, lahko to storimo neposrednoUporaba .NET za poslušanje na TCP portu, če klic log4j2 za tiskanje dnevnikov dostopa do .NET poslušalnega porta, to dokaže, da obstaja ranljivost, in če ne, je to varno。
.NET generira zelo majhne testne programe6kb, koda je naslednja:
Poskusi uporabiti log4j komponento2.14.0Različica je natisnjena, upodobitev pa je naslednja:
Poskusi nadgraditi komponento log4j na2.15.0Različica, izvedena znova, je učinek naslednji:
Po nadgradnji različice ugotovimo, da po klicu tiskalnega dnevnika,Java program ne dostopa več do zunanjega porta。
Zainteresirani prijatelji, lahko pogledate naslednjo povezavo, da ponazorite ranljivost in pokličete kalkulator.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Na koncu priložite postopek testiranja:
测试程序.rar
(2.66 KB, Število prenosov: 1)
|