xss-dom

Analyzes JavaScript flows to locate and exploit XSS vulnerabilities in web applications.

253|37|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/blacklanternsecurity/red-run --skill xss-dom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: xss-dom
Source: https://github.com/blacklanternsecurity/red-run/tree/main/skills/web/xss-dom
Command: npx skills add https://github.com/blacklanternsecurity/red-run --skill xss-dom

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps penetration testers identify and exploit DOM-based Cross-Site Scripting vulnerabilities, which exist entirely within client-side JavaScript and are often missed by traditional scanners.

Core Features & Use Cases

  • Source Identification: Detects user-controlled data inputs from URLs, cookies, and storage.
  • Sink Analysis: Identifies dangerous JavaScript functions where data can be executed or rendered unsafely.
  • Exploitation: Guides the user in crafting and delivering payloads to exploit the identified vulnerabilities.
  • Use Case: A penetration tester suspects a web application is vulnerable to DOM XSS. They use this skill to analyze the client-side JavaScript, trace data flow from a URL fragment to an innerHTML sink, and successfully execute an alert() payload.

Quick Start

Use the xss-dom skill to analyze the target page at https://example.com/vulnerable.

Frequently Asked Questions about xss-dom

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

FAQPage Schema
How do I find and exploit DOM-based XSS vulnerabilities in client-side JavaScript?

To exploit DOM-based XSS vulnerabilities, you must identify untrusted user-controlled data sources like URL fragments and trace their data flow to dangerous JavaScript sinks that render or execute the data unsafely.

What is the difference between DOM XSS and traditional Cross-Site Scripting?

DOM XSS vulnerabilities exist entirely within client-side JavaScript execution, bypassing server-side processing. Traditional XSS relies on server-side reflection or storage, while DOM XSS exploits unsafe client-side data flow from sources to sinks.

How do I trace data flow from a URL parameter to an innerHTML sink during a penetration test?

Tracing data flow to an innerHTML sink requires analyzing client-side JavaScript execution to see how user-controlled inputs like URL fragments or cookies are passed to dangerous DOM manipulation functions without proper sanitization.

Can I use this to analyze JavaScript sources and sinks for web security testing?

Yes, analyzing JavaScript sources and sinks is the core function. It detects user-controlled data inputs from URLs, cookies, and storage, then identifies dangerous JavaScript functions where that data can be executed or rendered.

Why does my DOM XSS payload fail to execute when passed through a URL fragment?

DOM XSS payloads fail when client-side JavaScript sanitizes the input, uses safe rendering sinks, or when the data flow from the URL fragment source does not reach a dangerous execution sink within the browser environment.

Do I need browser interaction to verify DOM-based Cross-Site Scripting vulnerabilities?

Yes, exploiting DOM-based Cross-Site Scripting requires browser interaction and analysis of JavaScript execution to verify that payloads successfully reach dangerous sinks and trigger unauthorized code execution.