

Attackers can perform two types of session hijacking attacks, targeted or generic. The disclosure, capture, prediction, brute force, or fixation of the session ID will lead to session hijacking (or sidejacking) attacks, where an attacker is able to fully impersonate a victim user in the web application.

DEFINE SESSION IN ASP.NET PLUS
The complexity of these three components (authentication, session management, and access control) in modern web applications, plus the fact that its implementation and binding resides on the web developer's hands (as web development frameworks do not provide strict relationships between these modules), makes the implementation of a secure session management module very challenging. The session ID or token binds the user authentication credentials (in the form of a user session) to the user HTTP traffic and the appropriate access controls enforced by the web application. Therefore, in order to introduce the concept of a session, it is required to implement session management capabilities that link both the authentication and access control (or authorization) modules commonly available in web applications: HTTP is a stateless protocol ( RFC2616 section 5), where each request and response pair is independent of other web interactions. See the OWASP Authentication Cheat Sheet. Once an authenticated session has been established, the session ID (or token) is temporarily equivalent to the strongest authentication method used by the application, such as username and password, passphrases, one-time passwords (OTP), client-based digital certificates, smartcards, or biometrics (such as fingerprint or eye retina). Therefore, current web applications can provide session capabilities both pre and post authentication. This ensures the ability to identify the user on any subsequent requests as well as being able to apply security access controls, authorized access to the user private data, and to increase the usability of the application. Additionally, web applications will make use of sessions once the user has authenticated. An example would be maintaining the user language preference. Web applications can create sessions to keep track of anonymous users after the very first user request. Therefore, sessions provide the ability to establish variables – such as access rights and localization settings – which will apply to each and every interaction a user has with the web application for the duration of the session. Modern and complex web applications require the retaining of information or status about each user for the duration of multiple requests. Web Authentication, Session Management, and Access Control:Ī web session is a sequence of network HTTP request and response transactions associated with the same user.

Session Management Cheat Sheet ¶ Introduction ¶ Logging Sessions Life Cycle: Monitoring Creation, Usage, and Destruction of Session IDs Session ID Guessing and Brute Force Detectionīinding the Session ID to Other User Properties Renew the Session ID After Any Privilege Level ChangeĬonsiderations When Using Multiple CookiesĪdditional Client-Side Defenses for Session Managementįorce Session Logout On Web Browser Window Close Events Manage Session ID as Any Other User Input Session ID Generation and Verification: Permissive and Strict Session Management Insecure Direct Object Reference Preventionīuilt-in Session Management Implementations
