mastering session management · 2021. 3. 9. · mastering session management siva ram appsec...

32
The OWASP Foundation OWASP http://www.owasp.org Mastering Session Management Siva Ram AppSec Consulting, Inc [email protected] 650 898 7482 July 23, 2009

Upload: others

Post on 02-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

The OWASP Foundation

OWASP

http://www.owasp.org

Mastering Session Management

Siva Ram

AppSec Consulting, Inc

[email protected]

650 898 7482

July 23, 2009

Page 2: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

2OWASP

Agenda

�Overview of Sessions

�Threats to Sessions

�Securing Sessions

Page 3: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

The OWASP Foundation

OWASP

http://www.owasp.org

Overview of Sessions

The What, Why and How

of Sessions

Page 4: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

4OWASP

Purpose of Sessions

�Sessions

�Maintain context between requests

�Compartmentalize different users

Page 5: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

5OWASP

Implementing Sessions – Session Tokens

�Querystring parameters

http://domain.com?sessionid=jsq9wqoqe

�Hidden fields

<input type=hidden name=sessionid value=jsq9wqoqe>

�Cookies

Set-cookie: sessionid=jsq9wqoqe;domain=domain.com;HTTPOnly

Page 6: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

6OWASP

Implementing Sessions – Passing Session Data

�Pass all session data in parameters

http://domain.com?user=siva&account=231432&action=modify&role=admin

Page 7: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

7OWASP

Detour - Cookies

�Session Cookies

�Stored in memory

�Cleared when browser is closed

�Expires attribute left empty

�Persistent Cookies

�Stored in the hard drive

�Stays on client until expiry date

�Expires attribute assigned a future date

Page 8: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

8OWASP

Cookies – Other Attributes of Interest

�HTTPOnly

�Prevents client side scripts from accessing cookie

�Secure

�Ensures cookie is transmitted over HTTPS

�Does NOT encrypt cookie contents at rest

Page 9: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

9OWASP

Back on Track – Session Timeout

�Automatic termination of session

�Configurable on server or through code

Page 10: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

The OWASP Foundation

OWASP

http://www.owasp.org

Threats to Sessions

The What and How of Session Attacks

Page 11: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

11OWASP

Session Hijacking

�Break into another user’s session

Page 12: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

12OWASP

Session Hijacking – How To

�Obtaining valid session id

�Interception

�Prediction

�Fixation

Page 13: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

13OWASP

Interception - MITM

�Man in the middle

Page 14: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

14OWASP

Interception - XSS

�Session ids can be obtained through XSS or other coding issues

Page 15: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

15OWASP

Prediction

�Sequential numbers

�Small character space

�Short session id

Page 16: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

16OWASP

Session Fixation

Page 17: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

17OWASP

Common Problems

�Persistent cookies

�HTTPOnly is not used

�Secure attribute not set

�XSS vulnerabilities

�Custom session id

�Improper session termination

Page 18: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

The OWASP Foundation

OWASP

http://www.owasp.org

Securing Sessions

Design and Coding Considerations for Securing Sessions

Page 19: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

19OWASP

Design Considerations - What

�What will be stored in session objects?

�Sensitive information

�Compliance requirements

�Encryption

Page 20: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

20OWASP

Design Considerations - How

�How will session be maintained?

�QueryString (URL Rewriting)

�Hidden fields

�Cookies

Page 21: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

21OWASP

Design Considerations - Where

�Where will session data be stored?

�Single server

� In memory

�Server farm

� Cluster

� Common repository such as DB or file system

Page 22: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

22OWASP

Design Considerations – IP Binding

�Bind session to IP address

�Can be a problem if IP changes in the middle of a session

Page 23: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

23OWASP

Design Considerations – Browser Fingerprinting

�Assign unique id to the client and track during session

�May not work where same image is used for all clients

�Can indicate an attack if fingerprint changes in the middle of a session

Page 24: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

24OWASP

Coding Considerations – XSS and Others

�Protect against XSS and other vulnerabilities

�HTTPOnly attribute for cookies

Page 25: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

25OWASP

Coding Considerations – Session Timeout

�Use short session timeouts

Page 26: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

26OWASP

Coding Considerations - Logout

�Provide an explicit and prominent logout link

�Do not depend on session timeout

Page 27: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

27OWASP

Coding Considerations – Session Termination

�Terminate sessions properly

�Session state is different from session id

Page 28: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

28OWASP

Coding Considerations – Session Id Reuse

�App Servers reuse ids in certain cases

�Domain level cookie

�Different app on same server

Page 29: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

29OWASP

Coding Considerations – New Session Id

�Regenerate session id on login or privilege change

Page 30: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

30OWASP

Coding Considerations – Custom Session Id

�Use high entropy session id

�SecureRandom vs Math.Random

Page 31: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

31OWASP

Summary

�WAKE UP!

�Test your (and Siva’s) memory

�List all the major points

Page 32: Mastering Session Management · 2021. 3. 9. · Mastering Session Management Siva Ram AppSec Consulting, Inc siva@appsecconsulting.com 650 898 7482 July 23, 2009. OWASP 2 Agenda Overview

32OWASP

Still Got Time?

�Multiple logins with same login id

�Impact of SSO Cookies

�Cross-Site Request Forgery issues