CSRF & Session Management Testing
Manual session management testing across Europe: session tokens, cookie flags, fixation, timeouts and CSRF defences. Fixed price, free retest.
Session management testing checks the part of your application that decides what a logged-in user’s browser is trusted to do, and for how long. We test how session tokens are issued, protected and destroyed, and whether an attacker can ride an authenticated session with a cross-site request the user never meant to send.
Once a user logs in, the session is the key to everything they can reach. If that key is predictable, never expires, survives a logout, or can be triggered from a page on another site, the strength of your login stops mattering. Cross-site request forgery is the twin problem: making a victim’s authenticated browser fire a state-changing request without their knowledge. SafetyBis is a European offensive-security team with OSCP and OSWE-certified engineers, and this engagement puts them on the session and CSRF controls that quietly hold your whole authenticated experience together.
What session management testing covers
A session has a lifecycle: issued at login, carried on every request, and destroyed at logout or timeout. Each stage has its own failure modes, and CSRF sits alongside as the attack that abuses a valid session from the outside. Here is the scope.
Why session flaws slip through
Functional testing never catches these, because the application behaves perfectly for an honest user. The session works, logout appears to log you out, and everything looks fine. The bugs only surface when someone asks the awkward questions: is this token still valid on the server after logout, does this action check a CSRF token, can I set a victim’s session before they log in. Those questions are what session management in security testing is for, and they take a tester who thinks like an attacker rather than a user.
Session management and CSRF as one problem
These two belong together because they attack the same thing from opposite directions. Session flaws let an attacker steal or forge the key. CSRF lets an attacker use the victim’s real key without holding it. Test them separately and you can miss the interaction, so we cover both in one engagement and report how they combine.
How we test
The work is manual, with Burp Suite as the primary tool for capturing sessions, comparing tokens and replaying requests across states. What matters is the engineer methodically walking the session through every transition and probing each one, because that is where the defects live.
Analysing the session token
We collect many session tokens and examine them for structure and predictability. A token with visible patterns, a short random component, or anything derived from the username or a timestamp is a candidate for prediction. We also check whether the same token is issued before and after login, which is the setup for session fixation.
Testing the lifecycle
We drive the session through its whole life and test each transition.
Login and fixation
We confirm the application issues a fresh session on authentication and does not carry the pre-login identifier forward. Where it does, an attacker who plants a known session in a victim’s browser can hijack the account once the victim logs in.
Timeout and logout
We test whether idle and absolute timeouts exist and are enforced on the server, and, most importantly, whether logout genuinely invalidates the token server-side. A logout that only clears the cookie in the browser, while the token stays valid on the server, is a common and dangerous finding.
Replay and concurrency
We capture a token, sign out, and try to reuse it. We open several sessions for one account and see how the application handles them. Tokens that outlive their session, or unlimited concurrent logins with no visibility, both widen the window an attacker has.
Cookie attributes in practice
We verify the Secure flag so the cookie never travels over plain HTTP, HttpOnly so a script cannot read it, and a sensible SameSite value that limits when the browser sends it cross-site. These flags are cheap to set and frequently missing on the one cookie that matters, and SameSite in particular is a strong first line against CSRF.
CSRF testing in depth
Cross-site request forgery tricks a logged-in user’s browser into sending a request the attacker chose. We test every action that changes state.
Token presence and validation
We check that each state-changing request carries an anti-CSRF token, and then that the server actually validates it. A surprising number of applications include a token, decorative, and accept the request whether or not it is correct. We remove the token, alter it, and reuse another user’s token to see what the server truly enforces.
GET-based state change
Any action that changes data over a GET request is trivially forgeable with an image tag or a link. We look for state changes hiding behind GET, a classic that survives in older and hastily built features.
Logout CSRF and method bypasses
Even logout can be a target: forcing a victim to log out is a nuisance and sometimes a setup for a fixation attack. We also test whether method-override headers or parameters let an attacker turn a protected POST into an unprotected request the CSRF check does not cover.
What an attacker gains
We demonstrate impact so the findings get prioritised.
Account takeover
A predictable or non-expiring session token, or a fixation flaw, lets an attacker occupy a victim’s authenticated session and do whatever that user can, from reading private data to changing the account’s email and locking the owner out.
Unauthorised actions through CSRF
A working CSRF against a sensitive action means an attacker can make a victim change their email, transfer funds, alter settings or approve a request, all from a page the victim merely visited. The victim’s own valid session does the damage.
Want this tested on your own systems?
Free 20-minute scoping call, a fixed price with no hourly surprises, and a free retest once you fix what we find.
What you get: the deliverables
Executive summary
A plain-language read on whether authenticated sessions can be stolen, forged or abused, and what that would mean for your users and your obligations.
Technical report
Each finding lists the affected mechanism, a CVSS score, business impact, reproduction with request and response evidence, and a specific fix, whether that is rotating tokens on login, enforcing server-side invalidation, setting cookie flags or adding validated CSRF tokens.
Free retest
After your team applies the fixes we re-test each finding at no charge and confirm the session behaves correctly through every transition.
Compliance and standards
OWASP ASVS
Session management has a dedicated chapter in the OWASP Application Security Verification Standard, and CSRF maps to the OWASP Top 10. We test against these so your developers get a recognised checklist alongside the findings.
ISO 27001, SOC 2, PCI DSS and GDPR
Session and access controls underpin all of these. The report and attestation letter support ISO 27001, SOC 2, PCI DSS and GDPR expectations for protecting authenticated access to personal and payment data. Name your framework and we align the deliverables.
Session models we test
How a session is stored changes how it fails, and the newer models bring their own traps that classic cookie testing does not cover.
Server-side cookie sessions
The traditional model, where the cookie holds an opaque identifier and the state lives on the server. Here the risks cluster around token strength, fixation and whether logout actually clears the server record. This is where a “logout does nothing on the server” finding usually lives.
Stateless token sessions
Where the session is a self-contained token carried by the client, logout is harder, because the server holds nothing to invalidate. We test whether short expiry and a revocation mechanism exist, or whether a stolen token stays usable until it expires no matter what the user does. SameSite behaviour and where the token is stored both feed directly into the CSRF and theft picture.
Single sign-on and shared sessions
When a session spans several applications behind one login, we test how signing out of one affects the others and whether a session established at the identity provider can be replayed against a service that should have refused it. Shared sessions multiply the blast radius of any single flaw.
Why manual testing is essential
Session and CSRF flaws are logic and timing problems, not signatures, so scanners struggle with them. A tool cannot tell that a token is still valid after logout, or that a CSRF token is accepted whether or not it matches, because both require comparing the application’s behaviour across requests and states. That comparison is what a human tester does, and it is why a session management testing provider that leans on scans alone leaves these findings on the table.
Pricing
Pricing follows scope: how many authenticated features and roles exist, and how many state-changing actions must be checked for CSRF. Here is the shape of a typical European engagement.
| Engagement | What’s included | Timeline | Price |
|---|---|---|---|
| Essential | Session lifecycle and CSRF testing for a single application with one role, cookie and token review, full report and free retest | 3–5 working days | from €2,500 |
| Standard | Application with several roles and many state-changing actions, fixation, replay and full CSRF coverage, executive and technical report | 5–8 working days | €3,500–€8,000 |
| Advanced | Complex app, token-based and cross-domain sessions, method-override and chained session-plus-CSRF attacks | 8–12 working days | €8,000–€20,000 |
| Compliance add-on | Framework mapping and attestation letter for PCI DSS, ISO 27001, SOC 2 or GDPR | with any tier | from €800 |
| Custom / large estate | Several applications or a shared session platform, scoped to what you run | on scoping | custom |
Every engagement is fixed-price, quoted after a free 20-minute scoping call, with no hourly surprises and a retest included. Get a fixed quote
FAQ
How much does session management testing cost?
How long does the test take?
Do you test CSRF as part of this?
What is the most common finding you report here?
Will the test disrupt our users?
Does this satisfy ISO 27001 or PCI DSS?
Is a retest included?
Are the findings confidential?
Related services
Any application with authenticated users and state-changing actions, especially those handling payments, personal data or account settings, and teams that want proof their sessions expire properly and their CSRF defences are enforced rather than merely present.
Security you can prove
The same standard on every engagement, big or small.
Evidence, not opinions
Every finding ships with a reproduction and proof of concept — no vague "maybe vulnerable".
Humans over scanners
Certified engineers find the logic flaws and chained attacks automated tools walk straight past.
Fixed price, free retest
You know the cost up front, and verifying the fix is part of the deal — not a second invoice.
Ready to lock this down?
Free scoping call, fixed price, free retest. Tell us what you're running and we'll take it from there — usually within one business day.
Tell us what you're running
Scoping is free. We reply within one business day, and under 30 minutes for active incidents.