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
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
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:
- Identifikasie van beheerde sinkholes op 'n webblad vir DOM XSS toetsing, wat konteks en sanitasiedetails verskaf.
- 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. - Opsporing van klantkant prototipe besoedeling bronne en skandering van beheerde gadgets wat na riskante sinkholes gestuur word.
- 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:
- Teken webboodskappe wat via
postMessage()
gestuur is, soortgelyk aan Burp Proxy se HTTP versoek/antwoord geskiedenis teken. - Wysiging en heruitreiking van webboodskappe om handmatig vir DOM XSS te toets, soortgelyk aan Burp Repeater se funksie.
- 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
- Van die Boodskappe sien, klik op enige boodskap om die boodskap besonderhede dialoog te open.
- Wysig die Data veld soos benodig.
- 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:
- '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.
- 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 dieinnerHTML
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
- 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/dom-xss
- 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/dom-clobbering
{% 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
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.