skills/csrff/SKILL.md
Use when testing Cross-Site Request Forgery, CSRF, anti-CSRF token validation, SameSite bypasses, Origin or Referer enforcement, state-changing requests, or browser-driven unauthorized actions.
npx skillsauth add ghostonbutterbread/bug-bounty-harness csrfInstall 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.
Test for Cross-Site Request Forgery vulnerabilities on authenticated, state-changing functionality.
Read shared state in this order before testing:
notes/summary.mdnotes/observations.mdchecklist.md (CSRF items only)todo.md (CSRF items only)There is no dedicated agents/csrf_hunter.py in this repo yet. Run CSRF work manually with a browser, proxy, and reproducible PoC HTML. Use baseline_capture.py when you need to snapshot authenticated before-and-after state or inspect reflected anti-CSRF headers during a controlled replay.
If the token is generated per action or per request, use /single-request-grabber to capture the fresh owned-session request and perform a bounded intercept/modify test. Do not invent, brute force, or harvest CSRF tokens.
| Mode | Use When | What It Tests |
|------|----------|---------------|
| no-token | State-changing request succeeds without a token | Missing anti-CSRF protection |
| weak-token | Token exists but validation may be weak | Omission, replay, cross-session reuse, or cookie duplication |
| samesite | Cookies appear to be the main defense | Cross-site navigation and SameSite edge cases |
| origin | Headers appear to enforce cross-site policy | Weak, absent, or inconsistent Origin and Referer validation |
$HARNESS_ROOT/prompts/csrf-playbook.md$HARNESS_ROOT/skills/headers/references/technique-packs/origin.md$HARNESS_ROOT/skills/single-request-grabber/references/technique-packs/csrf-token.md$HARNESS_SHARED_BASE/{program}/agent_shared/$HARNESS_SHARED_BASE/{program}/agent_shared/findings/csrf/findings.md$HARNESS_SHARED_BASE/{program}/agent_shared/findings/csrf/prompts/csrf-playbook.md.Origin, Referer, or Sec-Fetch-*, load /headers origin instead of duplicating header checks here./single-request-grabber before replaying.baseline_capture.py when you need before-and-after evidence or to inspect anti-CSRF headers during controlled replay.agent_shared/findings/csrf/findings.md.checklist.md, todo.md, and relevant notes.documentation
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.
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