Metodologija web ranjivosti

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

U svakom Web Pentest-u postoje nekoliko skrivenih i očiglednih mesta koja mogu biti ranjiva. Ovaj post je zamišljen kao kontrolna lista da potvrdite da ste pretražili sve moguće lokacije za ranjivosti.

Proksi

Tip

Danas web aplikacije obično koriste neku vrstu posredničkih proksija, koje se mogu (ab)upotrebiti za eksploataciju ranjivosti. Ove ranjivosti zahtevaju ranjiv proxy da bude prisutan, ali obično takođe zahtevaju neku dodatnu ranjivost na backendu.

Korisnički unos

Tip

Većina web aplikacija će dozvoliti korisnicima da unesu podatke koji će biti obrađeni kasnije.
U zavisnosti od strukture podataka koje server očekuje, neke ranjivosti mogu ili ne moraju biti primenljive.

Reflektovane vrednosti

Ako se uneti podaci na neki način mogu reflektovati u odgovoru, stranica može biti ranjiva na više problema.

Neke od pomenutih ranjivosti zahtevaju posebne uslove, druge zahtevaju samo da se sadržaj reflektuje. Možete pronaći neke interesantne polygloths za brzo testiranje ranjivosti u:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Funkcionalnosti pretrage

Ako se funkcionalnost koristi za pretragu neke vrste podataka u backend-u, možda je možete (ab)upotrebiti za pretragu proizvoljnih podataka.

Forme, WebSockets i PostMsgs

Kada websocket pošalje poruku ili forma dozvoli korisnicima da izvrše akcije, mogu se pojaviti ranjivosti.

HTTP zaglavlja

U zavisnosti od HTTP zaglavlja koje vraća web server, neke ranjivosti mogu biti prisutne.

Zaobilaženja

Postoje specifične funkcionalnosti gde su korisne metode za zaobilaženje.

Strukturisani objekti / Specifične funkcionalnosti

Neke funkcionalnosti će zahtevati da su podatci strukturisani u veoma specifičnom formatu (kao što je serijalizovani objekat jezika ili XML). Stoga je lakše identifikovati da li aplikacija može biti ranjiva jer mora da procesuira takav tip podataka.
Neke specifične funkcionalnosti takođe mogu biti ranjive ako se koristi specifičan format ulaza (npr. Email Header Injections).

Fajlovi

Funkcionalnosti koje dozvoljavaju upload fajlova mogu biti ranjive na više problema.
Funkcionalnosti koje generišu fajlove uključujući korisnički unos mogu izvršiti neočekivani kod.
Korisnici koji otvaraju fajlove koje su uploadovali drugi korisnici ili automatski generisane fajlove koji uključuju korisnički unos mogu biti ugroženi.

Eksterno upravljanje identitetima

Ostale korisne ranjivosti

Ove ranjivosti mogu pomoći pri eksploatisanju drugih ranjivosti.

Web serveri i middleware

Pogrešne konfiguracije u edge stack-u često otvaraju uticajnije bagove u aplikativnom sloju.

Aplikacioni framework-i i stack-ovi

Primitivi specifični za framework-e često otkrivaju gadgete, opasne podrazumevane postavke ili endpoint-e koje poseduje framework.

CMS, SaaS i menadžirane platforme

Proizvodi sa velikom površinom napada često dolaze sa poznatim exploit-ima, slabim plugin-ovima ili privilegovanim admin endpoint-ima.

API-ji, Buckets i integracije

Server-side pomoćnici i third-party integracije mogu otkriti slabosti pri parsiranju fajlova ili u sloju skladištenja.

Supply chain i zloupotreba identifikatora

Napadi koji ciljaju build pipeline-ove ili predvidljive identifikatore mogu postati početna poluga pre iskorišćavanja tradicionalnih baga.

Web3, ekstenzije i alati

Moderni sistemi se šire u pregledače, novčanike i pipeline-e za automatizaciju — držite ove vektore u opsegu testiranja.

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks