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

8 KiB

DOM Invader

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}

DOM Invader

DOM Invader is 'n blaartoepassing wat in Burp se ingeboude blaasker geïnstalleer is. Dit help met die opsporing van DOM XSS kwesbaarhede deur verskeie bronne en sinkholes, insluitend webboodskappe en prototipe besoedeling. Die hulpmiddel is vooraf geïnstalleer as 'n uitbreiding.

DOM Invader integreer 'n oortjie binne die blaasker se DevTools paneel wat die volgende moontlik maak:

  1. Identifikasie van beheerde sinkholes op 'n webblad vir DOM XSS toetsing, wat konteks en sanitasiedetails verskaf.
  2. Teken, redigeer en stuur webboodskappe weer wat via die postMessage() metode gestuur is vir DOM XSS toetsing. DOM Invader kan ook outomaties kwesbaarhede opspoor deur spesiaal saamgestelde webboodskappe.
  3. Opsporing van klantkant prototipe besoedeling bronne en skandering van beheerde gadgets wat na riskante sinkholes gestuur word.
  4. Identifikasie van DOM klobbering kwesbaarhede.

Aktiveer Dit

In Burp se ingeboude blaasker, gaan na die Burp uitbreiding en aktiveer dit:

Verfris nou die bladsy en in die Dev Tools sal jy die DOM Invader oortjie vind:

Spuit 'n Kanarie

In die vorige beeld kan jy 'n willekeurige groep karakters sien, dit is die Kanarie. Jy moet nou begin spuit dit in verskillende dele van die web (params, vorms, url...) en elke keer klik soek dit. DOM Invader sal kyk of die kanarie in enige interessante sinkhole geëindig het wat uitgebuit kan word.

Boonop sal die opsies Spuit URL params en Spuit vorms outomaties 'n nuwe oortjie spuit die kanarie in elke URL param en vorm wat dit vind.

Spuit 'n leë Kanarie

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

Post Boodskappe

DOM Invader laat toetsing van DOM XSS toe deur webboodskappe met funksies soos:

  1. Teken webboodskappe wat via postMessage() gestuur is, soortgelyk aan Burp Proxy se HTTP versoek/antwoord geskiedenis teken.
  2. Wysiging en heruitreiking van webboodskappe om handmatig vir DOM XSS te toets, soortgelyk aan Burp Repeater se funksie.
  3. Outomatiese verandering en sending van webboodskappe vir die ondersoek van DOM XSS.

Boodskap besonderhede

Gedetailleerde inligting kan oor elke boodskap gesien word deur daarop te klik, wat insluit of die klantkant JavaScript die origin, data, of source eienskappe van die boodskap benader.

  • origin : As die oorsprong inligting van die boodskap nie nagegaan word nie, mag jy in staat wees om kruis-oorsprong boodskappe na die gebeurtenis handler van 'n arbitrêre eksterne domein te stuur. Maar as dit nagegaan word, kan dit steeds onveilig wees.
  • data: Dit is waar die payload gestuur word. As hierdie data nie gebruik word nie, is die sinkhole nutteloos.
  • source: Evalueer of die bron eienskap, wat gewoonlik na 'n iframe verwys, gevalideer word in plaas van die oorsprong. Selfs al word dit nagegaan, verseker dit nie dat die validasie omseil kan word nie.

Antwoord 'n boodskap

  1. Van die Boodskappe sien, klik op enige boodskap om die boodskap besonderhede dialoog te open.
  2. Wysig die Data veld soos benodig.
  3. Klik Stuur.

Prototipe Besoedeling

DOM Invader kan ook soek na Prototipe Besoedeling kwesbaarhede. Eerstens, jy moet dit aktiveer:

Dan, dit sal soek na bronne wat jou in staat stel om arbitrêre eienskappe aan 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 oortjie sal verskyn, skep 'n objek in die konsole en kyk of die testproperty bestaan:

let b = {}
b.testproperty

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

  1. 'n Nuwe oortjie word deur DOM Invader geopen wanneer die Scan for gadgets knoppie, wat langs enige geïdentifiseerde prototipe besoedeling bron in die DOM weergawe gevind kan word, geklik word. Die skandering vir geskikte gadgets begin dan.
  2. Intussen, in dieselfde oortjie, moet die DOM Invader oortjie in die DevTools paneel geopen wees. Nadat die skandering voltooi is, word enige sinks wat toeganklik is via die geïdentifiseerde gadgets in die DOM weergawe vertoon. Byvoorbeeld, 'n gadget eienskap genaamd html wat aan die innerHTML sink oorgedra 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. Sodra dit gedoen is, sal DOM Invader begin soek na DOM clobbering kwesbaarhede.

References

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}