4.7 Test de management de sessions

 4.7 Test de management des sessions

Le mécanisme qui contrôle et maintient l'état d'une session utilisateur est un des principaux composants d'une application web. Ceci s'appelle le management des sessions et se definit par tout ce qui assure le contrôle des états et des interactions entre un utilisateur et une application web. Cela couvre en gros tout ce qui se passe entre l'authentification et la déconnection de l'utilisateur.

HTTP est un protocole sans états, c'est-à-dire que les serveurs web répondent aux requêtes des clients sans les relier entre elles. La plus simple logique applicative nécessite qu'un utilisateur fasse plusieurs requêtes qui doivent être reliées entre elles au sein d'une session. Cela nécessite des solutions tierces - soit des couches middleware ou des solutions web applicatives, soit des développements spécifiques. La plupart des environnements applicatifs, comme ASP ou PHP, fournissent aux développeurs des mécanismes intégrés de gestion de sessions. Dans la plupart des cas, un jeton d'identification est généré, qui contiendra un "ID de session" ou un cookie.

Une application web peut interagir avec un utilisateur de plusieurs façons. Cela va dépendre de la nature du site et des exigences en matière de sécurité et de disponibilité de l'application. Bien qu'il y existe des bonnes pratiques répandues en matière de développement d'application, comme celles décrites dans OWASP Guide to Building Secure Web Applications, il est important que la sécurité applicative soit considérée dans le contexte des exigences et des attentes des parties prenantes.

Ce chapitre est consacré aux sujets suivants :

4.7.1 Test de détournement de session (OTG-SESS-001)

4.7.2 Test des attributs de cookies (OTG-SESS-002)

4.7.3 Test pour la fixatio nde session (OTG-SESS-003)

4.7.4 Test de variables exposées (OTG-SESS-004)

4.7.5 Test de Cross Site Request Forgery (CSRF) (OTG-SESS-005)

4.7.6 Test de déconnexion (OTG-SESS-006)

4.7.7 Test d'expiration de session (OTG-SESS-007)

4.7.8 Test de Session puzzling (OTG-SESS-008)