A vulnerable session ID implementation
When it comes to session management, developers use a session ID to identify a user’s session due to the stateless nature of the http protocol. But in a recent test, we found the application using a session ID for the browser session rather than each user session.
The session ID remains the same for all users logging in from the same browser session. At the server, the application just maps the session ID to each new user. This reduces the overhead for the application as it does not generate a random session ID every time a new user logs in.
But this is vulnerable.
Here’s why: in shared computers, the attacker can steal the session ID by first logging in to the application, peeking at the session ID and then leaving the window open. Then any user logging into the application from the same browser instance gets the same session ID (already known to the attacker) and becomes vulnerable to a session hijacking attack.
Even SSL won’t protect against session hijacking above, as the session ID is stolen from the client itself.
The best practice for session IDs is to generate unique, random, short-lived session IDs for each individual user login; that will prevent the session id from being stolen at the source. Here’s an excellent paper on session management by Gunter Ollmann.
Plynt provides penetration testing and code review services to clients worldwide. If you are interested, please contact us for a quote. We’ll get back to you within one working day.Add yours.closed for this post.
Monthly Archives
- September 2008
- August 2008
- July 2008
- May 2008
- April 2008
- March 2008
- January 2008
- December 2007
- November 2007
- April 2007
- March 2007
- February 2007
- January 2007
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
Syndication
You can read full entries of Palisade Blog using an RSS reader. Use this link —



