Session Fixation

Disclosed: 2016-06-22 12:26:59 By eboda To enter
Unknown
Vulnerability Details
Summary ------------- Your login flow is vulnerable to session fixation. This can allow an attacker to steal a valid user session from a victim. Steps to reproduce -------------- 1. As the attacker go to https://wallet.sandbox.romit.io (but do not login!) and check the cookies `romit.sandbox.session` and `SANDBOX-XSRF-TOKEN`, that are set. For example: ``` SANDBOX-XSRF-TOKEN=AAG02cId-yyza3k8uhQR7JKuB-4YOmhizkjM; romit.sandbox.session=s%3AEHm0kA9uwWYHayOwdRQXbuZWEIRIliQZ.ndejz36ofa52c9ENnApLuaLkMnTYCot3IiY1qdTvz0w; ``` 2. Now simulate the victim by opening a second browser and setting those two cookies. 3. As the victim, login in the second browser. 4. As the attacker, go to https://wallet.sandbox.romit.io (using the first browser / same cookies as in step 1). You are now logged in to the victims account. Possible exploitation scenarios --------------- This can be exploited if there is another bug like HTTP Response Splitting on your website. But a far easier way is to exploit this on shared computers. For example in a library, as an attacker open https://wallet.sandbox.romit.io (but do not login!) and keep note of the cookies as above in step 1. Then simply go away and now when a victim will use the same computer and try to login, the attacker will have access to the victims account. Mitigation -------------- If you assign a new session when someone logs in, this flaw should be fixed.
Actions
View on HackerOne
Report Stats
  • Report ID: 135797
  • State: Closed
  • Substate: resolved
  • Upvotes: 10
Share this report