CGI
Informacije
CGI skripte su perl skripte, tako da, ako ste kompromitovali server koji može izvršavati .cgi skripte, možete učitati perl reverznu ljusku (/usr/share/webshells/perl/perl-reverse-shell.pl
), promeniti ekstenziju iz .pl u .cgi, dati dozvole za izvršavanje (chmod +x
) i pristupiti reverznoj ljusci iz web pregledača da biste je izvršili. Da biste testirali za CGI ranjivosti, preporučuje se korišćenje nikto -C all
(i svih dodataka)
ShellShock
ShellShock je ranjivost koja utiče na široko korišćeni Bash komandni interfejs u Unix-baziranim operativnim sistemima. Cilja sposobnost Basha da izvršava komande koje prosleđuju aplikacije. Ranjivost leži u manipulaciji promenljivim okruženja, koje su dinamičke imenovane vrednosti koje utiču na to kako procesi rade na računaru. Napadači mogu iskoristiti ovo tako što će prikačiti zloćudni kod na promenljive okruženja, koji se izvršava prilikom primanja promenljive. Ovo omogućava napadačima da potencijalno kompromituju sistem.
Iskorišćavanjem ove ranjivosti stranica može prikazati grešku.
Možete pronaći ovu ranjivost primetivši da koristi staru verziju Apachija i cgi_mod (sa cgi folderom) ili koristeći nikto.
Test
Većina testova se zasniva na eho nečega i očekuje da se taj string vrati u web odgovoru. Ako mislite da bi stranica mogla biti ranjiva, pretražite sve cgi stranice i testirajte ih.
Nmap
Curl (reflektovani, slepi i van-banda)
Eksploatacija
Proxy (MitM do zahteva veb servera)
CGI kreira promenljivu okruženja za svaki header u http zahtevu. Na primer: "host:web.com" se kreira kao "HTTP_HOST"="web.com"
Kao što se HTTP_PROXY promenljiva može koristiti od strane veb servera. Pokušajte da pošaljete header koji sadrži: "Proxy: <IP_napadača>:<PORT>" i ako server izvrši bilo koji zahtev tokom sesije. Moći ćete da uhvatite svaki zahtev koji server napravi.
Stari PHP + CGI = RCE (CVE-2012-1823, CVE-2012-2311)
U suštini, ako je cgi aktivan i php je "stari" (<5.3.12 / < 5.4.2) možete izvršiti kod. Da biste iskoristili ovu ranjivost, potrebno je da pristupite nekom PHP fajlu veb servera bez slanja parametara (posebno bez slanja karaktera "="). Zatim, da biste testirali ovu ranjivost, mogli biste pristupiti na primer /index.php?-s
(obratite pažnju na -s
) i izvorni kod aplikacije će se pojaviti u odgovoru.
Zatim, da biste dobili RCE možete poslati ovaj poseban upit: /?-d allow_url_include=1 -d auto_prepend_file=php://input
i PHP kod koji treba da se izvrši u telu zahteva. Primer:
Više informacija o ranjivosti i mogućim eksploatacijama: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF Primer Primerak.
Last updated