Home/Services/CSRF & Session Management Testing
security service

CSRF & Session Management Testing

Manual session management testing across Europe: session tokens, cookie flags, fixation, timeouts and CSRF defences. Fixed price, free retest.

Manual, expert-ledEvidence-based findingsFree remediation 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.

Session token entropy and predictability, tested for guessable or sequential identifiers
Session fixation: whether a pre-login session is reused instead of rotated on authentication
Cookie attributes: Secure, HttpOnly and SameSite, and how they hold up in practice
Idle and absolute timeouts, and true server-side invalidation on logout
Concurrent sessions and whether tokens can be replayed after the user has signed out
CSRF token presence, uniqueness and validation on every state-changing action
GET-based state change, logout CSRF and method-override bypasses of CSRF defences

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.

48h
typical time to first critical findings
100%
state-changing actions checked for CSRF defences
Free
retest once you have applied the fixes

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.

Get a fixed quote

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.

Get a fixed quote

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?
It starts from €2,500 and scales with the number of authenticated features, roles and state-changing actions in scope. You get a fixed session management testing cost after a free scoping call.
How long does the test take?
A focused engagement runs 3–8 working days plus the report, depending on how many roles and actions need checking. Critical findings are reported the same day we confirm them.
Do you test CSRF as part of this?
Yes. Session management and CSRF are tested together, because they attack the same authenticated trust from opposite directions. We check every state-changing action for a validated CSRF token.
What is the most common finding you report here?
A logout that clears the cookie in the browser while the session stays valid on the server, and CSRF tokens that are present but not actually validated. Both look fine to a normal user and both are genuinely dangerous.
Will the test disrupt our users?
No. We work on test accounts, agree the rules of engagement first, and can run any noisy checks out of hours. Your production users are not affected.
Does this satisfy ISO 27001 or PCI DSS?
Yes. The report and attestation letter support ISO 27001, PCI DSS, SOC 2 and GDPR expectations around protecting authenticated sessions. Tell us your framework and we align the deliverables.
Is a retest included?
Yes, free. After you deploy the fixes we re-test each finding and confirm the session behaves correctly through login, timeout and logout.
Are the findings confidential?
Always. We work under NDA, handle session data and evidence securely, and share the report only with the people you name.

Related services

Who needs this

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.

why safetybis

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.

500+
assessments delivered
<30min
incident first response
12k+
infections removed
98%
fixed within one retest
$ safetybis quote --service "CSRF & Session Management Testing"

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.

get in touch

Tell us what you're running

Scoping is free. We reply within one business day, and under 30 minutes for active incidents.