DOM Invader
Reading time: 5 minutes
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)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
DOM Invader
DOM Invader je alat za pretraživač instaliran u Burp-ovom ugrađenom pretraživaču. Pomaže u otkrivanju DOM XSS ranjivosti koristeći različite izvore i odredišta, uključujući web poruke i zagađenje prototipa. Alat je unapred instaliran kao ekstenzija.
DOM Invader integriše karticu unutar DevTools panela pretraživača koja omogućava sledeće:
- Identifikaciju kontrolisanih odredišta na veb stranici za DOM XSS testiranje, pružajući kontekst i detalje o sanitizaciji.
- Zapisivanje, uređivanje i ponovno slanje web poruka poslatih putem
postMessage()
metode za DOM XSS testiranje. DOM Invader takođe može automatski otkriti ranjivosti koristeći posebno kreirane web poruke. - Otkrivanje izvora zagađenja prototipa na klijentskoj strani i skeniranje kontrolisanih gadgeta poslatih u rizična odredišta.
- Identifikaciju DOM clobbering ranjivosti.
Omogućite ga
U Burp-ovom ugrađenom pretraživaču idite na Burp ekstenziju i omogućite je:
.png)
Sada osvežite stranicu i u Dev Tools pronaći ćete DOM Invader karticu:
.png)
Umetnite Kanarinca
Na prethodnoj slici možete videti slučajnu grupu karaktera, to je Kanarinca. Sada treba da počnete da ubacujete to na različitim mestima na webu (parametri, forme, url...) i svaki put kliknite na pretragu. DOM Invader će proveriti da li je kanarinca završila u nekom interesantnom odredištu koje bi moglo biti iskorišćeno.
Pored toga, opcije Umetni URL parametre i Umetni forme automatski će otvoriti novu karticu ubacujući kanarinca u svaki URL parametar i formu koju pronađe.
Umetnite praznog Kanarinca
Ako samo želite da pronađete potencijalna odredišta koja stranica može imati, čak i ako nisu iskorišćiva, možete pretraživati praznog kanarinca.
Post Poruke
DOM Invader omogućava testiranje za DOM XSS koristeći web poruke sa funkcijama kao što su:
- Zapisivanje web poruka poslatih putem
postMessage()
, slično kao zapisivanje HTTP zahteva/odgovora u Burp Proxy. - Izmena i ponovno slanje web poruka za ručno testiranje DOM XSS, slično funkciji Burp Repeater-a.
- Automatska izmena i slanje web poruka za ispitivanje DOM XSS.
Detalji poruke
Detaljne informacije o svakoj poruci mogu se videti klikom na nju, što uključuje da li klijentski JavaScript pristupa origin
, data
ili source
svojstvima poruke.
origin
: Ako informacije o poreklu poruke nisu proverene, možda ćete moći da šaljete poruke između različitih domena ka upravljaču događajima iz proizvoljnog spoljnog domena. Ali ako se proverava, to i dalje može biti nesigurno.data
: Ovo je mesto gde se payload šalje. Ako se ovi podaci ne koriste, odredište je beskorisno.source
: Procenjuje da li je svojstvo izvora, obično referencirajući iframe, validirano umesto porekla. Čak i ako se ovo proverava, to ne osigurava da se validacija ne može zaobići.
Odgovorite na poruku
- Iz Pregleda poruka, kliknite na bilo koju poruku da otvorite dijalog sa detaljima poruke.
- Uredite Data polje po potrebi.
- Kliknite Send.
Zagađenje prototipa
DOM Invader takođe može pretraživati Ranjivosti zagađenja prototipa. Prvo, treba da ga omogućite:
.png)
Zatim, on će pretraživati izvore koji vam omogućavaju da dodate proizvoljna svojstva u Object.prototype
.
Ako se nešto pronađe, pojaviće se dugme Test da testirate pronađeni izvor. Kliknite na njega, nova kartica će se pojaviti, kreirajte objekat u konzoli i proverite da li testproperty
postoji:
let b = {}
b.testproperty
Kada pronađete izvor, možete skenirati za gadget:
- Novi tab se otvara od strane DOM Invader kada se klikne na dugme Scan for gadgets, koje se može naći pored bilo kojeg identifikovanog izvora zagađenja prototipa u DOM prikazu. Skeniranje za odgovarajuće gadgete tada počinje.
- U međuvremenu, u istom tabu, DOM Invader tab treba da bude otvoren u DevTools panelu. Nakon što skeniranje završi, svi izvori dostupni putem identifikovanih gadgeta se prikazuju u DOM prikazu. Na primer, svojstvo gadgeta nazvano
html
koje se prosleđujeinnerHTML
izvoru je prikazano u sledećem primeru.
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 da traži DOM zagađivačke ranjivosti.
Reference
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/enabling
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-xss
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/web-messages
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/prototype-pollution
- https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-clobbering
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)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.