# DOM-based cross-site scripting

Browser-side code moves attacker-controlled data into an executable DOM or script sink.

**Candidate CWE:** [CWE-79](https://cwe.mitre.org/data/definitions/79.html)

## Test hypothesis

Trace an observed URL fragment, query, message, or stored value through client code. Use a benign marker and debugger breakpoints to identify the sink, then reproduce from a fresh browser navigation.

## Evidence required

A normal deliverable input causes marker execution at the application origin. Record the source-to-sink path and distinguish client transformation from reflected server output.

## Rule out false positives

A dangerous API name in source, unreachable code, sanitized DOM text, or a tester-modified runtime variable is not a complete exploit path.

## Playbook and command references

- [Browser execution, cross-origin reads, and forged actions](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/modules/browser-trust.html) — Use real browser behavior to distinguish XSS, CSRF, CORS, and messaging failures from header-only leads.

[Find the associated command snippets](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/commands.html?q=Browser%20execution%2C%20cross-origin%20reads%2C%20and%20forged%20actions)

## Referenced by these target playbooks

[Web & API](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/web-api.html) · [OSS & self-hosted](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/oss.html) · [Mobile](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/mobile.html) · [Desktop & extensions](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/desktop.html)

## Report checklist

- [ ] Capture the affected version, configuration, identities, and object ownership.
- [ ] Preserve a valid baseline and a negative control.
- [ ] Reproduce the forbidden data access, action, or state change on controlled fixtures.
- [ ] Explain the intended security rule and why the observed behavior violates it.
- [ ] State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.

## Conditional ATT&CK mapping

No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the [mapping guide](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/attack.html).

## Primary references

- [PortSwigger DOM XSS](https://portswigger.net/web-security/cross-site-scripting/dom-based)

[Back to the complete vulnerability catalog](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/vulnerabilities.html)
