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

7.9 KiB

Mvamizi wa DOM

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Mvamizi wa DOM

Mvamizi wa DOM ni chombo cha kivinjari kilichowekwa kwenye kivinjari kilichojengwa ndani ya Burp. Inasaidia katika kugundua udhaifu wa DOM XSS kutumia vyanzo na mabwawa tofauti, ikiwa ni pamoja na ujumbe wa wavuti na uchafuzi wa prototype. Chombo hicho kimefungwa kabla kama kifaa cha nyongeza.

Mvamizi wa DOM huingiza kichupo ndani ya kichupo cha DevTools cha kivinjari kuruhusu yafuatayo:

  1. Utambuzi wa mabwawa yanayoweza kudhibitiwa kwenye ukurasa wa wavuti kwa ajili ya majaribio ya DOM XSS, kutoa muktadha na maelezo ya kusafisha.
  2. Kuingiza, kuhariri, na kutuma tena ujumbe wa wavuti uliotumwa kupitia njia ya postMessage() kwa majaribio ya DOM XSS. Mvamizi wa DOM pia unaweza kugundua moja kwa moja udhaifu kwa kutumia ujumbe maalum wa wavuti.
  3. Kugundua vyanzo vya uchafuzi wa prototype upande wa mteja na uchunguzi wa vifaa vinavyoweza kudhibitiwa vinavyotumwa kwenye mabwawa hatari.
  4. Utambuzi wa udhaifu wa kufuta DOM.

Wezesha

Katika kivinjari kilichojengwa ndani ya Burp nenda kwa Kifaa cha Burp na kiwezesha:

Sasa refusha ukurasa na katika Zana za Dev utapata kichupo cha Mvamizi wa DOM:

Ingiza Kifaru

Katika picha iliyotangulia unaweza kuona kikundi cha herufi, hicho ni Kifaru. Sasa unapaswa kuanza kuingiza sehemu tofauti za wavuti (parameta, fomu, url...) na kila wakati bonyeza tafuta. Mvamizi wa DOM atachunguza ikiwa kifaru kilimalizika kwenye bwawa lolote la kuvutia ambalo linaweza kutumiwa.

Zaidi ya hayo, chaguo Ingiza parameta za URL na Ingiza fomu zitafungua moja kwa moja kichupo kipya kukiingiza kifaru katika kila parameta ya URL na fomu inayopata.

Ingiza Kifaru tupu

Ikiwa unataka tu kupata mabwawa yanayoweza kuwa nayo ukurasa, hata kama hawawezi kutumiwa, unaweza kutafuta kifaru tupu.

Ujumbe wa Posta

Mvamizi wa DOM inaruhusu majaribio ya DOM XSS kwa kutumia ujumbe wa wavuti na vipengele kama vile:

  1. Kuingiza ujumbe wa wavuti uliotumwa kupitia postMessage(), kama kumbukumbu ya historia ya maombi/majibu ya HTTP ya Burp Proxy.
  2. Kuhariri na kutuma tena ujumbe wa wavuti kwa majaribio ya kawaida ya DOM XSS, sawa na kazi ya Burp Repeater.
  3. Kubadilisha moja kwa moja 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 ni pamoja na ikiwa JavaScript upande wa mteja unafikia mali za asili, data, au chanzo za ujumbe.

  • asili : Ikiwa habari ya asili ya ujumbe haijachunguzwa, unaweza kutuma ujumbe wa msalaba-mzizi kwa kushughulikiaji wa tukio kutoka kwenye kikoa cha nje cha kiholela. Lakini ikiwa imechunguzwa bado inaweza kuwa si salama.
  • data: Hapa ndipo mzigo unatumwa. Ikiwa data hii haikutumiwa, bwawa ni bure.
  • chanzo: Inachunguza ikiwa mali ya chanzo, kawaida ikirejelea iframe, inathibitishwa badala ya asili. Hata kama hii imechunguzwa, haitoi uhakika kwamba uthibitisho hauwezi kukiukwa.

Jibu ujumbe

  1. Kutoka kwenye Maoni angalia ujumbe wowote ili ufungue dirisha la maelezo ya ujumbe.
  2. Hariri Data kama inavyotakiwa.
  3. Bonyeza Tuma.

Uchafuzi wa Prototype

Mvamizi wa DOM pia unaweza kutafuta udhaifu wa Uchafuzi wa Prototype. Kwanza, unahitaji kuwezesha:

Kisha, ita tafuta vyanzo vinavyokuwezesha kuongeza mali za Object.prototype.

Ikiwa kitu kinapatikana, kitufe cha Jaribu kitatokea ili kujaribu chanzo kilichopatikana. Bonyeza, kichupo kipya kitatokea, tengeneza kitu kwenye konsoli na angalia ikiwa testproperty ipo:

let b = {}
b.testproperty

Once you found a source you can scan for a gadget:

  1. A new tab is opened by DOM Invader when the Scan for gadgets button, which can be found next to any identified prototype pollution source in the DOM view, is clicked. The scanning for suitable gadgets then begins.
  2. Meanwhile, in the same tab, the DOM Invader tab should be opened in the DevTools panel. After the scan completes, any sinks accessible via the identified gadgets are displayed in the DOM view. For instance, a gadget property named html being passed to the innerHTML sink is shown in the example below.

DOM clobbering

In the previous image it's possible to see that DOM clobbering scan can be turned on. Once done, DOM Invader will start searching for DOM clobbering vulnerabilities.

References

Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: