hacktricks/pentesting-web/xss-cross-site-scripting/dom-invader.md

7.9 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č instaliran u ugrađenom pregledaču u Burp-u. Pomaže u otkrivanju DOM XSS ranjivosti koristeći različite izvore i slivove, uključujući web poruke i zagađenje prototipa. Alat je unapred instaliran kao ekstenzija.

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

  1. Identifikacija kontrolabilnih slivova na veb stranici za DOM XSS testiranje, pružajući kontekst i detalje o sanitizaciji.
  2. Logovanje, uređivanje i ponovno slanje web poruka poslatih putem metode postMessage() za DOM XSS testiranje. DOM Invader takođe može automatski otkriti ranjivosti korišćenjem posebno kreiranih web poruka.
  3. Otkrivanje izvora zagađenja prototipa na klijentskoj strani i skeniranje kontrolabilnih gedžeta poslatih ka rizičnim slivovima.
  4. Identifikacija DOM clobbering ranjivosti.

Omogućite ga

U ugrađenom pregledaču u Burp-u idite na Burp ekstenzije i omogućite ga:

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

Ubacite kanarince

Na prethodnoj slici možete videti nasumičnu grupu karaktera, to je kanarinka. Sada treba da počnete da je ubacujete na različite delove veba (parametre, forme, url...) i svaki put kliknite na pretragu. DOM Invader će proveriti da li je kanarinka završila u nekom interesantnom slivu koji bi mogao biti iskorišćen.

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

Ubacite praznu kanarinku

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

Pošaljite poruke

DOM Invader omogućava testiranje za DOM XSS 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. Modifikacija i ponovno slanje web poruka radi ručnog testiranja za DOM XSS, slično funkciji Burp Repeater-a.
  3. Automatska izmena i slanje web poruka za ispitivanje DOM XSS-a.

Detalji poruke

Detaljne informacije mogu se videti o svakoj poruci 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 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, sliv je beskoristan.
  • source: Procenjuje da li je svojstvo izvora, obično referencirajući iframe, validirano umesto porekla. Čak i ako je ovo provereno, ne garantuje da validacija ne može biti zaobiđena.

Odgovorite na poruku

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

Zagađenje prototipa

DOM Invader takođe može tražiti ranjivosti zagađenja prototipa. Prvo, treba da ga omogućite:

Zatim, će tražiti izvore koji vam omogućavaju da dodate proizvoljna svojstva 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

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

  1. Novi tab se otvara kada se klikne dugme Skeniraj za uređaje, koje se može pronaći pored identifikovanog izvora zagađenja prototipa u prikazu DOM. Tada počinje skeniranje odgovarajućih uređaja.
  2. U međuvremenu, u istom tabu, treba otvoriti karticu DOM Invader u panelu DevTools. Nakon završetka skeniranja, bilo koji otvori pristupačni putem identifikovanih uređaja prikazuju se u prikazu DOM. Na primer, svojstvo uređaja nazvano html koje se prosleđuje otvoru innerHTML prikazano je u primeru ispod.

DOM preplavljenje

Na prethodnoj slici moguće je videti da se skeniranje DOM preplavljenja može uključiti. Kada se završi, DOM Invader će početi tražiti ranjivosti DOM preplavljenja.

Reference

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

Drugi načini podrške HackTricks-u: