Part of the 60-Day Bug Bounty Mastery Course
🎯 What You’ll Master in Day 19
⏱️ 50 min read · 3 exercises
📋 CSRF Bug Bounty 2026 — Complete Guide
In Day 18 you found CSRF in OAuth flows via missing state parameters. Day 19 covers CSRF as a vulnerability class in its own right — the broader technique that OAuth CSRF is a specific instance of. Understanding CSRF deeply unlocks a finding category that appears in nearly every web application in the 60-Day Bug Bounty Mastery Course.
How CSRF Works and Why It Still Exists in 2026
CSRF exploits the browser’s automatic cookie inclusion behaviour. When a user is authenticated to target.com, every request their browser makes to target.com includes the session cookie — regardless of whether the request originates from target.com or from an attacker-controlled page. The application cannot distinguish between a request the user intentionally made and a request that an attacker’s page caused their browser to make. Without an additional verification mechanism (a CSRF token, or SameSite cookie restriction), the application processes both identically.
⏱️ Time: 12 minutes · Browser DevTools · in-scope target
Open DevTools → Network tab → check Preserve log
Step 2: Perform every state-changing action you can find:
– Update profile (name, email, phone)
– Change notification settings
– Update password (if current password not required)
– Add/remove 2FA
– Connect/disconnect third-party apps
– Change privacy settings
Step 3: For each request in the Network tab:
□ Is it GET or POST?
□ Does it include a CSRF token parameter?
□ What are the Cookie headers? Do they have SameSite set?
□ Does it accept JSON? Or form-encoded data?
Step 4: Create a shortlist of endpoints with:
– No visible CSRF token → high priority test
– CSRF token present → still test for validation bypass
– SameSite not set → no cookie-level protection
Step 5: For your highest-priority finding, write:
The endpoint URL, HTTP method, parameters,
and why it appears CSRF-vulnerable.
📸 Share your shortlist of potential CSRF endpoints in #day-19-csrf on Discord.
CSRF Token Bypass — 6 Techniques That Work
SameSite Cookies — Understanding the Gaps
SameSite cookie attributes are the modern browser-level CSRF defence. SameSite=Strict never sends cookies on cross-origin requests. SameSite=Lax (now Chrome’s default) sends cookies on top-level GET navigation but not on cross-origin POST. SameSite=None sends cookies on all cross-origin requests (requires Secure flag). The gaps: applications using SameSite=None (often for CORS or embed scenarios), GET-based state changes vulnerable under Lax, subdomains bypassing SameSite restrictions via XSS, and older browsers ignoring SameSite entirely.
⏱️ Time: 20 minutes · Free PortSwigger account
Step 2: Complete: “CSRF vulnerability with no defenses”
This confirms the baseline — no token, simple PoC works
Step 3: Complete: “CSRF where token validation depends on request method”
This demonstrates the method-switch bypass (#6 above)
Step 4: Complete: “CSRF where token is tied to non-session cookie”
This shows cookie-based CSRF token weaknesses
Step 5: For each completed lab, note:
– The specific bypass technique used
– The exact PoC HTML you submitted
– What the vulnerability enabled (email change, etc.)
Advanced (if time): “CSRF with broken token validation”
These labs cover every token bypass from the command block above
in an interactive environment with confirmed impact.
📸 Screenshot completed CSRF labs and share in #day-19-csrf on Discord.
Chaining CSRF to Account Takeover
Standalone CSRF against a low-impact action (changing notification preferences) is typically Low severity. CSRF against an account settings endpoint that enables account takeover is Critical. The highest-value chains: CSRF on email change → attacker receives verification email → resets password → account takeover. CSRF on disabling 2FA → removes authentication factor from victim’s account. CSRF on OAuth account linking → links attacker’s OAuth identity to victim’s account (the Day 18 attack applied without OAuth-specific bypass).
⏱️ Time: 12 minutes · Burp Suite · own test account only
📸 Screenshot your Burp-generated CSRF PoC and the before/after account state in #day-19-csrf on Discord. Tag #csrf2026
🧠 QUICK CHECK — Day 19
📚 Further Reading
- OAuth 2.0 Bug Bounty 2026 — Day 18 covers OAuth CSRF via missing state parameter — the specific CSRF variant in OAuth flows that chains to account takeover via account linking.
- Authentication Bypass Hub — The complete authentication bypass category covering CSRF, OAuth, JWT, and session management attacks with chaining examples.
- 60-Day Bug Bounty Mastery Course — The complete course hub — Day 19 CSRF is part of the authentication vulnerability phase covering Days 16-22.
- PortSwigger CSRF Labs — Six interactive CSRF labs covering all bypass techniques — the most effective hands-on practice for mastering CSRF exploitation and understanding every token validation weakness.
- OWASP CSRF Prevention Cheat Sheet — The definitive CSRF defence reference — understanding what correct implementation looks like helps identify exactly where implementations fall short during bug bounty testing.

Leave a Reply