Session Fixation
Check List
Methodology
Black Box
Account Take Over
Log in to the target site and inspect the HTTP requests using Burp Suite
Check whether a cookie is set for us as soon as we enter the site
If the cookie was set before authentication, then complete the authentication process and check whether the same cookie is set after authentication or not
If the same cookie was issued, the session fixation vulnerability would be confirmed
Then check if the session that is set exists in the URL parameters and in GET form
Send the session to a user as a link so that a user can authenticate using that session
Then, after the victim authenticates with the attacker's session, the attacker authenticates with the same session and gains access to the victim's panel
Authentication Bypass via Captured Login Responses
Send a valid login request (correct email/password)
Capture the response using Burp Suite and copy it
Log out the user
Send a new login request with an incorrect password
Replace the 400 Bad Request response with the previously captured legitimate login response (including the valid session cookie)
Improper Session Invalidation Allows Account Access After Logout
Login with a valid account
Capture the login HTTP 302 Found response using a proxy tool like Burp Suite
Log out from the account
Clear browser cookies
Attempt to log in as a different user
During login, replace the server response with the earlier captured 302 response
The application logs you into the original session (victim@example.com), not the new user
Account Takeover
Visit the target site without logging in
Check cookies, URL parameters, hidden fields, or response headers for a session identifier (PHPSESSID, JSESSIONID, session_id=abc123)
Open two different browsers/incognito windows
Visit the site, Note the session ID is generated and sent before login
Verify the same session ID persists after refresh or navigation
Create a login link containing the attacker-controlled session ID like
https://target.com/login
https://target.com/?PHPSESSID=attacker123
https://target.com/dashboard;jsessionid=attacker123Send the malicious link via email, chat, or phishing page (victim trusts the domain)
Victim clicks the link → Lands on site with attacker’s session ID
Victim enters valid credentials and logs in successfully
Application does NOT issue a new session ID after successful authentication, Same attacker123 remains active
Attacker visits the site using the same session ID
https://target.com/?PHPSESSID=attacker123Instantly logged in as the victim, Full session takeover
White Box
Cheat Sheet
Last updated