dom-xss

Detect and analyze DOM-based XSS vulnerabilities in client-side applications.

846|152|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill dom-xss-xalgord
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dom-xss
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/vulnerabilities/dom-xss
Command: npx skills add https://github.com/xalgord/xalgorix --skill dom-xss-xalgord

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

DOM-based XSS occurs entirely in the browser — inputs controlled by the user flow from a JavaScript source into a dangerous sink without server-side reflection. Standard curl-based testing cannot detect it; browser-based testing is required.

Core Features & Use Cases

  • DOM XSS testing covers source/sink analysis, client-side template injection (CSTI), AngularJS expression injection, postMessage exploitation, DOM clobbering, and browser-based detection techniques.
  • Step-by-step workflows include source discovery, framework detection (AngularJS, Vue.js, jQuery), CSTI payloads, and advanced techniques such as mXSS and CSP-bypass strategies.
  • Real-world use cases include validating client-side vulnerabilities in SPAs and libraries, designing defensive controls, and producing repeatable test results.

Quick Start

Open a target web page in a browser, identify untrusted input sources such as URL hash, query parameters, and postMessage, then apply the documented DOM XSS payloads to confirm the presence and behavior of sinks.

Frequently Asked Questions about dom-xss

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect DOM-based XSS vulnerabilities in client-side applications?

DOM-based XSS is detected by tracing untrusted input from a JavaScript source into a dangerous sink in the browser. This requires browser-based testing to map source→sink flows, as standard server-side validation is bypassed entirely.

What is the difference between DOM XSS and server-side reflected XSS?

DOM XSS occurs entirely in the browser when user input flows from a JavaScript source to a dangerous sink without server-side reflection. Server-side reflected XSS involves the server echoing input back in the HTML response, which standard curl-based testing can detect.

How do I test for client-side template injection in frameworks like Vue.js and AngularJS?

Client-side template injection is tested by identifying framework usage and injecting CSTI payloads into client-side templates. Workflows include detecting AngularJS expression injection and Vue.js template rendering to confirm execution in the browser.

Does DOM XSS testing work with postMessage and DOM clobbering exploitation?

DOM XSS testing covers postMessage exploitation and DOM clobbering by analyzing untrusted input sources. It maps these sources to dangerous sinks using step-by-step workflows and browser-based detection payloads to confirm vulnerabilities.

What are advanced XSS techniques for bypassing Content Security Policy?

Advanced XSS techniques for CSP-avoidance include mutation XSS (mXSS) and DOM clobbering strategies. These exploit browser parsing quirks and DOM manipulation to execute payloads even when Content Security Policy restrictions are active.

Why does standard curl-based testing fail to find DOM XSS in single page applications?

Standard curl-based testing fails because DOM XSS happens entirely client-side within the browser's JavaScript execution context. Since no server-side reflection occurs, browser-based testing is required to discover sources and confirm sink behavior.