Table of Contents
Description
L'attaque en prédiction session se concentre sur la prévision des valeurs d'ID de session qui permettent à un attaquant de contourner le schéma d'authentification d'une application. Par l'analyse et la compréhension du processus de génération de l'ID de session, un attaquant peut prédire une valeur de l'ID de session valide et avoir ainsi accès à l'application.
Dans une première étape, l'attaquant a besoin de recueillir quelques valeurs valides d'identification de session qui sont utilisés pour identifier les utilisateurs authentifiés. Ensuite, il faut comprendre la structure de l'ID de session, les informations qui sont utilisées pour le créer et l'algorithme de chiffrement ou de hachage utilisé par l'application pour le protéger. Certaines implémentations utilisent des identifiants de sessions de mauvaise composition, par le nom d'utilisateur ou d'autres informations prévisible, comme l'horodatage ou l'adresse IP du client. Dans le pire des cas, cette information est transmise dans le texte en clair ou codé en utilisant un algorithme faible comme l'encodage base64.
De plus, l'attaquant peut mettre en œuvre une technique de force brute pour générer et tester différentes valeurs de l'ID de session jusqu'à ce qu'il obtienne avec succès l'accès à l'application.
Exemple :
L'ID de session pour une application donnée est normalement composé d'une chaîne de largeur fixe. Le hasard est très important afin d'éviter sa prédiction. En regardant l'exemple de la figure 1, la variable ID de session est représentée par JSESSIONID et sa valeur est “user01”, qui correspond au nom d'utilisateur. En essayant de nouvelles valeurs pour elle, comme “user02”, il pourrait être possible de pénétrer l'application sans authentification préalable.
Figure 1. Predictable cookie
