skills/stored-xss/SKILL.md
Use when attacker-controlled input is saved and rendered later in a profile, comment, title, notification, admin view, export, email, feed, upload metadata, or other stored render surface.
npx skillsauth add ghostonbutterbread/bug-bounty-harness stored-xssInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this lane when the interesting behavior is persistence plus later rendering.
Stored XSS work is two problems: finding the write primitive and finding the render context. Treat both as first-class evidence.
xsslive-testing-policyaccount-testing-policy before creating accounts or mutating owned statewaf-live-policy if filtering or sanitizer behavior mattersskills/xss/references/payload-selection.mdUse owned, disposable, or explicitly approved resources.
Allowed examples:
Ask before anything that can hit staff, moderation, support, marketplace/app review, real users, public feeds, email/SMS/push to non-owned recipients, or hard-to-clean state.
High-signal stored fields:
Stored payloads should be deliberate. A noisy payload can affect future agents, public surfaces, notifications, or moderation queues.
Use a progression:
Good stored XSS often comes from downstream consumers:
innerHTMLFor cross-account stored XSS:
Record:
If cleanup fails, note it loudly in the run summary.
Include:
content-media
Use when attacker-controlled input appears in the immediate HTTP response or browser-rendered page and needs reflected XSS context classification, payload selection, mutation, and browser verification.
data-ai
Use when inspecting proxy traffic from PwnFox-profiled browser sessions, filtering Caido/Burp/proxy history by X-PwnFox-Color, or interpreting user phrases like 'Red session' as a distinct browser/auth/profile lane.
tools
# LFI — Local File Inclusion Bypass ## What It Does Tests LFI bypass techniques: path traversal, null bytes, wrappers, log poisoning. Load `general-security-testing-policy`, `live-testing-policy`, and `injection-testing-policy` before live testing. For file/path sinks, absence of an immediate file read or response delta is not a stop reason by itself; use the policy to reason about path normalization, extension allowlists, wrappers, encoding, parser differences, and stack-specific proof ladder
tools
Use when XSS depends on browser-side sources and sinks such as URL/query/hash, router state, local/session storage, cookies, postMessage, DOM parsing, framework render paths, or client-side sanitizer behavior.