# 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: * Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
## 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`: ```javascript 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 * [https://portswigger.net/burp/documentation/desktop/tools/dom-invader](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/enabling) * [https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-xss](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/web-messages) * [https://portswigger.net/burp/documentation/desktop/tools/dom-invader/prototype-pollution](https://portswigger.net/burp/documentation/desktop/tools/dom-invader/prototype-pollution) * [https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-clobbering](https://portswigger.net/burp/documentation/desktop/tools/dom-invader/dom-clobbering)
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)! Drugi načini podrške HackTricks-u: * Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)! * Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com) * Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family) * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.