hacktricks/pentesting-web/xss-cross-site-scripting/dom-invader.md
2024-02-10 13:11:20 +00:00

8 KiB

DOM Invader

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

DOM Invader

DOM Invader je alat za pregledač koji je instaliran u ugrađenom pregledaču Burp-a. Pomaže u otkrivanju DOM XSS ranjivosti koristeći različite izvore i ciljeve, uključujući web poruke i onečišćenje prototipa. Alat je unapred instaliran kao ekstenzija.

DOM Invader integriše karticu unutar DevTools panela pregledača koja omogućava sledeće:

  1. Identifikacija kontrolabilnih ciljeva na veb stranici za testiranje DOM XSS-a, pružajući kontekst i detalje o sanitizaciji.
  2. Logovanje, uređivanje i ponovno slanje web poruka poslatih putem metode postMessage() za testiranje DOM XSS-a. DOM Invader takođe može automatski otkriti ranjivosti koristeći posebno kreirane web poruke.
  3. Otkrivanje izvora onečišćenja prototipa na klijentskoj strani i skeniranje kontrolabilnih uređaja poslatih na rizične ciljeve.
  4. Identifikacija ranjivosti DOM clobbering-a.

Omogući ga

U ugrađenom pregledaču Burp-a idite na Burp ekstenziju i omogućite je:

Sada osvežite stranicu i u Dev Tools-u ćete pronaći karticu DOM Invader:

Ubaci kanarinca

Na prethodnoj slici možete videti nasumičnu grupu znakova, to je kanarinac. Sada treba da ga počnete ubacivati na različite delove veba (parametre, forme, URL...) i svaki put kliknite na pretragu. DOM Invader će proveriti da li se kanarinac završio na nekom interesantnom cilju koji bi mogao biti iskorišćen.

Osim toga, opcije Ubaci URL parametre i Ubaci forme će automatski otvoriti novu karticu i ubaciti kanarinca u svaki URL parametar i formu koju pronađe.

Ubaci praznog kanarinca

Ako želite samo da pronađete potencijalne ciljeve koje stranica može imati, čak i ako nisu iskorišćivi, možete tražiti praznog kanarinca.

Web poruke

DOM Invader omogućava testiranje DOM XSS-a korišćenjem web poruka sa funkcijama kao što su:

  1. Logovanje web poruka poslatih putem postMessage(), slično logovanju istorije HTTP zahteva/odgovora u Burp Proxy-u.
  2. Izmena i ponovno slanje web poruka radi ručnog testiranja DOM XSS-a, slično funkciji Burp Repeater-a.
  3. Automatska izmena i slanje web poruka radi ispitivanja DOM XSS-a.

Detalji poruke

Detaljne informacije o svakoj poruci mogu se videti klikom na nju, što uključuje da li klijentski JavaScript pristupa svojstvima origin, data ili source poruke.

  • origin: Ako informacije o poreklu poruke nisu proverene, možda ćete moći da šaljete poruke preko granica porekla ka rukovaocu događaja sa proizvoljnog spoljnog domena. Ali ako je provereno, i dalje može biti nesigurno.
  • data: Ovde se šalje payload. Ako se ovi podaci ne koriste, cilj je beskoristan.
  • source: Proverava da li je provereno svojstvo izvora, obično referencirajući iframe, umesto porekla. Čak i ako je ovo provereno, to ne garantuje da validacija ne može biti zaobiđena.

Odgovor na poruku

  1. Iz Prikaza poruka, kliknite na bilo koju poruku da biste otvorili dijalog sa detaljima poruke.
  2. Uredite polje Podaci po potrebi.
  3. Kliknite na Pošalji.

Onečišćenje prototipa

DOM Invader takođe može tražiti ranjivosti onečišćenja prototipa. Prvo, trebate ga omogućiti:

Zatim, on će tražiti izvore koji vam omogućavaju da dodate proizvoljna svojstva na Object.prototype.

Ako se pronađe nešto, pojaviće se dugme Test za testiranje pronađenog izvora. Kliknite na njega, pojaviće se nova kartica, kreirajte objekat u konzoli i proverite da li postoji testproperty:

let b = {}
b.testproperty

Jednom kada pronađete izvor, možete skenirati za uređaj:

  1. Kada se klikne dugme Skeniraj za uređaje, koje se može pronaći pored bilo kojeg identifikovanog izvora zagađenja prototipa u DOM prikazu, DOM Invader otvara novu karticu. Zatim počinje skeniranje za odgovarajuće uređaje.
  2. U međuvremenu, u istoj kartici, treba otvoriti karticu DOM Invader u panelu DevTools-a. Nakon završetka skeniranja, svi izvori zagađenja koji su dostupni putem identifikovanih uređaja prikazuju se u DOM prikazu. Na primer, u donjem primeru se prikazuje svojstvo uređaja nazvano html koje se prosleđuje izvoru innerHTML.

DOM zagađenje

Na prethodnoj slici je moguće videti da se skeniranje za DOM zagađenje može uključiti. Kada se to uradi, DOM Invader će početi tražiti ranjivosti DOM zagađenja.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: