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

8.1 KiB

DOM Indringer

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

DOM Indringer

DOM Indringer is 'n blaaierhulpmiddel wat in Burp se ingeboude blaaier geïnstalleer is. Dit help met die opsporing van DOM XSS- kwesbaarhede deur verskeie bronne en sappe te gebruik, insluitend webboodskappe en prototipevervuiling. Die hulpmiddel is vooraf geïnstalleer as 'n uitbreiding.

DOM Indringer integreer 'n lêer binne die blaaier se DevTools-paneel wat die volgende moontlik maak:

  1. Identifikasie van beheerbare sappe op 'n webbladsy vir DOM XSS-toetsing, wat konteks- en sanitiseringsbesonderhede verskaf.
  2. Log, redigeer, en herstuur webboodskappe wat gestuur word via die postMessage()-metode vir DOM XSS-toetsing. DOM Indringer kan ook kwesbaarhede outomaties opspoor deur spesiaal ontwerpte webboodskappe.
  3. Opsoek na kliëntkant prototipevervuilingsbronne en skandering van beheerbare toestelle wat na risikosappe gestuur word.
  4. Identifisering van DOM-oorvul-kwesbaarhede.

Skakel dit aan

Gaan na die Burp-uitbreiding in die ingeboude blaaier van Burp en skakel dit aan:

Vernuwe die bladsy en in die Dev Tools sal jy die DOM Indringer-lêer vind:

Spuit 'n Kanarie in

In die vorige beeld kan jy 'n willekeurige groep karakters sien, dit is die Kanarie. Jy moet dit nou begin inspuit in verskillende dele van die web (parameters, vorms, url...) en elke keer daarop klik. DOM Indringer sal nagaan of die kanarie in enige interessante sappe geëindig het wat benut kan word.

Verder sal die opsies Inject URL-parameters en Inject vorms outomaties 'n nuwe lêer oopmaak deur die kanarie in elke URL-parameter en vorm wat dit vind, in te spuit.

Spuit 'n leë Kanarie in

As jy net potensiële sappe wil vind wat die bladsy mag hê, selfs al is hulle nie benutbaar nie, kan jy soek na 'n leë kanarie.

Postboodskappe

DOM Indringer maak dit moontlik om vir DOM XSS te toets deur webboodskappe te gebruik met kenmerke soos:

  1. Log webboodskappe wat gestuur word via postMessage(), soortgelyk aan Burp Proxy se HTTP-versoek-/antwoordgeskiedenislogging.
  2. Wysiging en heruitreiking van webboodskappe om handmatig vir DOM XSS te toets, soortgelyk aan Burp Repeater se funksie.
  3. Outomatiese wysiging en stuur van webboodskappe vir die ondersoek van DOM XSS.

Boodskapbesonderhede

Gedetailleerde inligting oor elke boodskap kan besigtig word deur daarop te klik, wat insluit of die kliëntkant-JavaScript die oorsprong, data, of bron-eienskappe van die boodskap benader.

  • oorsprong : As die oorspronginligting van die boodskap nie nagegaan word nie, kan jy kruisoorsprongboodskappe na die gebeurtenishanterer vanaf 'n willekeurige eksterne domein stuur. Maar as dit nagegaan word, kan dit steeds onveilig wees.
  • data: Hierdie is waar die lading gestuur word. As hierdie data nie gebruik word nie, is die sap nutteloos.
  • bron: Evalueer of die bron-eienskap, gewoonlik na 'n iframe verwys, gevalideer word in plaas van die oorsprong. Selfs al is dit nagegaan, verseker dit nie dat die validering nie omseil kan word nie.

Antwoord op 'n boodskap

  1. Klik op enige boodskap vanuit die Boodskappe-sig om die boodskapbesonderhede-venster oop te maak.
  2. Redigeer die Data-veld soos benodig.
  3. Klik op Stuur.

Prototipevervuiling

DOM Indringer kan ook soek na Prototipevervuilingskwesbaarhede. Eerstens moet jy dit inskakel:

Dan sal dit soek na bronne wat jou in staat stel om arbitrêre eienskappe by die Object.prototype toe te voeg.

As iets gevind word, sal 'n Toets-knoppie verskyn om die gevonde bron te toets. Klik daarop, 'n nuwe lêer sal oopmaak, skep 'n voorwerp in die konsole en kyk of die toets-eienskap bestaan:

let b = {}
b.testproperty

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

  1. 'n Nuwe lappie word oopgemaak deur DOM Invader wanneer die Scan vir gadgets knoppie, wat langs enige geïdentifiseerde prototipevervuilingsbron in die DOM-sig, geklik word. Die skandering vir geskikte gadgets begin dan.
  2. Intussen moet die DOM Invader-lappie in dieselfde lappie oopgemaak word in die DevTools-paneel. Nadat die skandering voltooi is, word enige sappe wat toeganklik is via die geïdentifiseerde gadgets in die DOM-sig vertoon. Byvoorbeeld, 'n gadget-eienskap genaamd html wat na die innerHTML-sink gestuur word, word in die voorbeeld hieronder getoon.

DOM clobbering

In die vorige beeld is dit moontlik om te sien dat die DOM clobbering-skandering aangeskakel kan word. Wanneer dit gedoen is, sal DOM Invader begin soek na DOM clobbering-gebreke.

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: