Real CSRF Testing Engine

CSRF Tester — Real
Vulnerability Scanner

Not a header checker. A genuine 4-phase CSRF engine that fires real cross-origin forged requests with your session, compares server responses, and generates a working PoC attack page.

1
Baseline RequestLegitimate same-origin + session — establishes what a valid response looks like
2
No-session Origin SpoofCross-origin probe without cookies — tests server's Origin header validation
3
Forged Request + Session ← KEYEvil Origin + Referer + your session cookie — the real CSRF scenario
4
No-Origin Bypass TestNo Origin header at all + session — catches incomplete CSRF defenses
Real CSRF Vulnerability Tester
Session Credentials (recommended for real testing)
Paste from DevTools → Application → Cookies. This is sent on the forged request to prove CSRF exploitability.
For POST/PUT endpoints — the forged request body the attacker would send.
Features

What Makes This a Real CSRF Tester

Four genuine HTTP phases. Session replay. Response comparison. PoC generator.

4-Phase Real Request Engine

Fires four distinct HTTP requests — baseline, no-cred probe, forged+session, no-Origin bypass — and compares actual server responses.

Session Cookie Replay

Paste your session cookie string directly. Phase 3 sends it with a forged cross-origin Origin header — exactly how a real CSRF attack works.

Response Comparison

Compares HTTP status codes and response body lengths between baseline and forged requests. Same response = server didn't check origin = CSRF.

PoC Attack Page Generator

Generates a real HTML CSRF proof-of-concept page with auto-submit. Download and open in a browser while logged into the target to validate exploitability.

CSRF Token Verification

Detects 8 token patterns (Laravel, Django, Rails, Angular, ASP.NET…) and flags when they exist — reminding you to also verify server-side validation.

Full Cookie & Header Audit

Parses every Set-Cookie attribute (SameSite, Secure, HttpOnly) and audits all security headers with per-item pass/warn/fail ratings.

How It Works

Real Test Methodology

1

Enter URL + Session

Paste the endpoint and your session cookie from DevTools → Application → Cookies.

2

Baseline Request

Tool fires a legitimate same-origin request with your session to record what a valid server response looks like.

3

Forged Request

Sends the identical request with your session but from evil-csrf-attacker.com as Origin and Referer — the real CSRF scenario.

4

Compare & Judge

If the server returns the same 2xx response to both, CSRF protection is missing. Different codes = protected.

Understanding CSRF Vulnerabilities — How Real CSRF Testing Works

Cross-Site Request Forgery (CSRF) exploits the browser's implicit trust model: when a user visits an attacker-controlled page, the browser will automatically include session cookies in any request to the target domain — even if that request was triggered by the attacker's JavaScript or a hidden HTML form. The server, seeing a request with a valid session cookie, may process it as legitimate without realizing it was forged from a third-party origin.

Most so-called CSRF scanners online are actually just security header auditors. They check whether headers like X-Frame-Options or SameSite are present — useful information, but not a real CSRF test. A genuine CSRF vulnerability check requires firing an actual forged cross-origin HTTP request that carries the victim's session credentials, then observing whether the server accepts or rejects it.

This tool implements a 4-phase real CSRF test. Phase 1 fires a baseline request with a legitimate Origin header and your session cookie — establishing what a valid server response looks like. Phase 3 is the key test: it sends the identical request body and session cookie but with Origin: https://evil-csrf-attacker.com and Referer: https://evil-csrf-attacker.com/attack.html. If the server returns an equivalent 200 response to both, it has no CSRF protection. If it returns 403, 401, or redirects — it validated the origin.

Phase 4 sends a request with no Origin header at all. This catches a common defense gap: some applications check if Origin === own domain → allow; if Origin === other domain → block but forget the case where Origin is entirely absent — which is how many automated tools and older browsers behave, and which attackers can exploit.

The tool also generates a real CSRF PoC HTML page that auto-submits a forged form when opened in a browser. This is the standard way penetration testers demonstrate exploitability to clients — not a theoretical finding, but a working proof of concept. Use it only on systems you own or have explicit written authorization to test. Combine this CSRF scanner with XSS testing, CORS analysis, and session management review for a complete web application security assessment.

FAQ

Frequently Asked Questions

What makes this a "real" CSRF tester vs a header checker?
This tool fires actual HTTP requests to your target endpoint. Phase 3 sends your real session cookie alongside a forged cross-origin Origin header — exactly how a real CSRF attack works. It then compares the server response to the baseline to determine if the server accepted the forged request. A header checker only looks at defensive headers without ever testing whether the defense actually works.
Do I need to provide a session cookie?
For definitive results, yes. Without a session cookie, Phase 3 (the key test) runs unauthenticated — the server may return 401 simply because there is no session, not because it detected CSRF. With a valid session cookie, a 200 response on Phase 3 is strong evidence of a real CSRF vulnerability. Get your session cookie from DevTools → Application → Cookies and paste the full string.
What does the PoC attack page do?
The generated HTML page contains a hidden form pointing to your target URL with auto-submit JavaScript. When a victim opens this page in a browser where they are logged into the target site, their browser automatically submits the forged form — including their session cookies. This is the standard proof-of-concept technique used in authorized penetration testing to demonstrate CSRF exploitability.
The test shows INCONCLUSIVE — what should I do?
Inconclusive usually means the server returned unexpected status codes, the baseline failed, or both requests returned errors. Try providing your session cookie for authenticated testing. Check that the URL is the correct action endpoint (e.g. /transfer, /settings/save) not just a page URL. Also ensure the POST body matches what the real form submits — try capturing the request in DevTools → Network first.
What is the difference between SameSite=Strict and Lax?
SameSite=Strict prevents the cookie from being sent with any cross-site request, including navigations. SameSite=Lax allows the cookie on top-level GET navigations (e.g. clicking a link) but blocks it on cross-origin POST/PUT/DELETE requests and embedded loads. For CSRF protection, both Strict and Lax protect against form-based CSRF attacks. SameSite=None sends the cookie on all cross-site requests and provides no CSRF protection.
More Tools

Related Testing & Security Tools

Explore 100+ Free Security & Web Tools

SQL injection testing, encryption, CORS analysis, pen testing and more — all free, no sign-up.