DOM-based XSS (DOM XSS) arises when an application contains client-side JavaScript that processes data from an untrusted source in an unsafe way, usually by writing the data back to the DOM.
DOM Invader makes it much easier for you to test applications for DOM XSS. DOM Invader injects a unique string into different sources, and then shows you the sinks that your input flows into. It also shows you the surrounding context. This replaces the need to manually follow the flow through complex JavaScript, which could have thousands of lines of code.
To learn more about sources and sinks, see DOM-based vulnerabilities.
DOM Invader is pre-installed in Burp's browser. It's disabled by default as some of its features may interfere with your other testing activities.
Enable DOM Invader. For more information, see Enabling DOM Invader.
You can follow the processes below using the lab DOM XSS in document.write sink using source location.search.
Use DOM Invader to inject a canary into the client-side JavaScript:
Identify any controllable sinks from the list in the DOM view.