DOM Invader

Reading time: 5 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

DOM Invader

DOM Invader ni chombo cha kivinjari kilichosakinishwa katika kivinjari cha ndani cha Burp. Kinasaidia katika kubaini udhaifu wa DOM XSS kwa kutumia vyanzo na visinki mbalimbali, ikiwa ni pamoja na ujumbe wa wavuti na uchafuzi wa prototype. Chombo hiki kimewekwa awali kama nyongeza.

DOM Invader inaunganisha kichupo ndani ya paneli ya DevTools ya kivinjari ikiruhusu yafuatayo:

  1. Utambuzi wa visinki vinavyoweza kudhibitiwa kwenye ukurasa wa wavuti kwa ajili ya upimaji wa DOM XSS, ikitoa muktadha na maelezo ya kusafisha.
  2. Kurekodi, kuhariri, na kutuma tena ujumbe wa wavuti uliopelekwa kupitia njia ya postMessage() kwa ajili ya upimaji wa DOM XSS. DOM Invader pia inaweza kugundua udhaifu kiotomatiki kwa kutumia ujumbe wa wavuti ulioandaliwa kwa njia maalum.
  3. Kugundua vyanzo vya uchafuzi wa prototype upande wa mteja na kuskanisha vifaa vinavyoweza kudhibitiwa vilivyopelekwa kwa visinki hatari.
  4. Utambuzi wa udhaifu wa DOM clobbering.

Wezesha

Katika kivinjari cha ndani cha Burp nenda kwenye Burp extension na uweke:

Sasa refresh ukurasa na katika Dev Tools utaona DOM Invader tab:

Ingiza Canary

Katika picha ya awali unaweza kuona kikundi cha herufi za nasibu, hiyo ndiyo Canary. Sasa unapaswa kuanza kuingiza katika sehemu tofauti za wavuti (params, fomu, url...) na kila wakati bonyeza kutafuta. DOM Invader itakagua kama canary imeishia katika sink yoyote ya kuvutia ambayo inaweza kutumika.

Zaidi ya hayo, chaguo Inject URL params na Inject forms zitafungua kiotomatiki kichupo kipya kikiingiza canary katika kila param ya URL na fomu inayoipata.

Ingiza Canary tupu

Ikiwa unataka tu kutafuta visinki vya uwezekano ambavyo ukurasa unaweza kuwa navyo, hata kama havitumiwi, unaweza kutafuta canary tupu.

Ujumbe wa Post

DOM Invader inaruhusu upimaji wa DOM XSS kwa kutumia ujumbe wa wavuti wenye vipengele kama:

  1. Kurekodi ujumbe wa wavuti uliopelekwa kupitia postMessage(), kama historia ya ombi/jibu la HTTP ya Burp Proxy.
  2. Mabadiliko na kupeleka tena ujumbe wa wavuti ili kupima kwa mikono DOM XSS, sawa na kazi ya Burp Repeater.
  3. Mabadiliko ya kiotomatiki na kutuma ujumbe wa wavuti kwa ajili ya kuchunguza DOM XSS.

Maelezo ya ujumbe

Maelezo ya kina yanaweza kuonekana kuhusu kila ujumbe kwa kubonyeza juu yake, ambayo inajumuisha ikiwa JavaScript ya upande wa mteja inapata mali za origin, data, au source za ujumbe.

  • origin : Ikiwa taarifa ya asili ya ujumbe haijakaguliwa, unaweza kuwa na uwezo wa kutuma ujumbe wa kuvuka asili kwa mpangaji wa tukio kutoka kwa kikoa chochote cha nje. Lakini ikiwa imekaguliwa bado inaweza kuwa isiyo salama.
  • data: Hapa ndipo mzigo unatumwa. Ikiwa data hii haitumiki, sink haitakuwa na maana.
  • source: Inakadiria ikiwa mali ya chanzo, ambayo kawaida inarejelea iframe, inathibitishwa badala ya asili. Hata kama hii imekaguliwa, haihakikishi kwamba uthibitisho hauwezi kupuuziliwa mbali.

Jibu ujumbe

  1. Kutoka kwenye mtazamo wa Messages, bonyeza ujumbe wowote kufungua kidirisha cha maelezo ya ujumbe.
  2. Hariri uwanja wa Data kama inavyohitajika.
  3. Bonyeza Send.

Uchafuzi wa Prototype

DOM Invader pia inaweza kutafuta udhaifu wa Uchafuzi wa Prototype. Kwanza, unahitaji kuuwezesha:

Kisha, itatafuta vyanzo vinavyokuwezesha kuongeza mali zisizo za kawaida kwenye Object.prototype.

Ikiwa kitu chochote kimepatikana kitakuwa na Test kitufe ku jaribu chanzo kilichopatikana. Bonyeza juu yake, kichupo kipya kitaonekana, tengeneza kitu kwenye console na angalia ikiwa testproperty inapatikana:

javascript
let b = {}
b.testproperty

Mara tu unapopata chanzo unaweza kuchunguza kwa gadget:

  1. Kichupo kipya kinafunguliwa na DOM Invader wakati kitufe cha Scan for gadgets, ambacho kinaweza kupatikana karibu na chanzo chochote kilichotambuliwa cha uchafuzi wa prototype katika mtazamo wa DOM, kinapobonyezwa. Uchunguzi wa gadgets zinazofaa huanza.
  2. Wakati huo huo, katika kichupo hicho hicho, kichupo cha DOM Invader kinapaswa kufunguliwa katika paneli ya DevTools. Baada ya uchunguzi kukamilika, vyanzo vyovyote vinavyopatikana kupitia gadgets zilizotambuliwa vinaonyeshwa katika mtazamo wa DOM. Kwa mfano, mali ya gadget inayoitwa html inayopitishwa kwa sink ya innerHTML inaonyeshwa katika mfano hapa chini.

DOM clobbering

Katika picha iliyopita inawezekana kuona kwamba uchunguzi wa DOM clobbering unaweza kuwashwa. Mara tu inavyokamilika, DOM Invader itaanza kutafuta udhaifu wa DOM clobbering.

Marejeleo

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks