6.9 KiB
Metodologija web ranjivosti
{{#include ../../banners/hacktricks-training.md}}
U svakom Web Pentestu, postoji several hidden and obvious places that might be vulnerable. Ovaj post je zamišljen kao kontrolna lista da potvrdite da ste pretražili ranjivosti na svim mogućim mestima.
Proksi
Tip
Danas web aplikacije obično koriste neku vrstu posredničkih proksija, koje se mogu (zlo)upotrebljavati za eksploataciju ranjivosti. Ove ranjivosti zahtevaju da postoji ranjivi proksi, ali obično takođe zahtevaju neku dodatnu ranjivost u pozadini.
- Zloupotreba hop-by-hop zaglavlja
- Trovanje kešom/Obmanjivanje keša
- HTTP Request Smuggling
- H2C Smuggling
- Uključivanje sa servera/Uključivanje sa ivice
- Otkrivanje Cloudflare-a
- XSLT Uključivanje sa servera
- Obilaženje zaštita proksija/WAF-a
Korisnički unos
Tip
Većina web aplikacija će dozvoliti korisnicima da unesu neke podatke koji će kasnije biti obrađeni.
U zavisnosti od strukture podataka koje server očekuje, neke ranjivosti mogu ili ne moraju da se primene.
Reflektovane vrednosti
Ako se uneti podaci mogu na neki način odraziti u odgovoru, stranica može biti ranjiva na nekoliko problema.
- Uključivanje šablona na klijentskoj strani
- Uključivanje komandi
- CRLF
- Viseći markup
- Uključivanje datoteka/Prelazak putanje
- Otvoreni preusmeravanje
- Zagađenje prototipa do XSS
- Uključivanje sa servera/Uključivanje sa ivice
- Uključivanje zahteva sa servera
- Uključivanje šablona sa servera
- Obrnuto tab nabbing
- XSLT Uključivanje sa servera
- XSS
- XSSI
- XS-Search
Neke od pomenutih ranjivosti zahtevaju posebne uslove, dok druge samo zahtevaju da se sadržaj odražava. Možete pronaći neke zanimljive poliglotove za brzo testiranje ranjivosti u:
{{#ref}} ../pocs-and-polygloths-cheatsheet/ {{#endref}}
Funkcionalnosti pretrage
Ako se funkcionalnost može koristiti za pretraživanje neke vrste podataka unutar pozadine, možda je možete (zlo)upotrebljavati za pretraživanje proizvoljnih podataka.
- Uključivanje datoteka/Prelazak putanje
- NoSQL Uključivanje
- LDAP Uključivanje
- ReDoS
- SQL Uključivanje
- XPATH Uključivanje
Forme, WebSockets i PostMsgs
Kada websocket pošalje poruku ili forma dozvoli korisnicima da izvrše radnje, mogu se pojaviti ranjivosti.
HTTP Zaglavlja
U zavisnosti od HTTP zaglavlja koje daje web server, neke ranjivosti mogu biti prisutne.
- Clickjacking
- Obilaženje politike bezbednosti sadržaja
- Hacking kolačića
- CORS - Pogrešne konfiguracije i obilaženje
Obilaženja
Postoji nekoliko specifičnih funkcionalnosti gde bi neka rešenja mogla biti korisna za obilaženje.
- Obilaženje 2FA/OTP
- Obilaženje procesa plaćanja
- Obilaženje Captche
- Obilaženje prijave
- Trka stanja
- Obilaženje ograničenja brzine
- Obilaženje resetovanja zaboravljene lozinke
- Ranjivosti registracije
Strukturirani objekti / Specifične funkcionalnosti
Neke funkcionalnosti će zahtevati da podaci budu strukturirani u vrlo specifičnom formatu (kao što je jezik serijalizovanog objekta ili XML). Stoga, lakše je identifikovati da li aplikacija može biti ranjiva jer mora obraditi tu vrstu podataka.
Neke specifične funkcionalnosti takođe mogu biti ranjive ako se koristi specifičan format unosa (kao što su injekcije u zaglavlju e-pošte).
Datoteke
Funkcionalnosti koje omogućavaju učitavanje datoteka mogu biti ranjive na nekoliko problema.
Funkcionalnosti koje generišu datoteke uključujući korisnički unos mogu izvršiti neočekivani kod.
Korisnici koji otvaraju datoteke koje su učitali korisnici ili automatski generisane uključujući korisnički unos mogu biti kompromitovani.
Upravljanje spoljnim identitetom
Druge korisne ranjivosti
Ove ranjivosti mogu pomoći u eksploataciji drugih ranjivosti.
{{#include ../../banners/hacktricks-training.md}}