Un serveur envoie l'en-tête suivant à la connexion
Exercice supplémentaire · niveau 3 (difficile) · NSI (première), chapitre 10 — Interagir sur le Web · Le serveur, de plus près
Énoncé
Un serveur envoie l'en-tête suivant à la connexion :
Set-Cookie: session=8f3a91b2; Secure; HttpOnly; Max-Age=3600; SameSite=Lax
- Que fait chacun des quatre attributs ?
- Quel attribut protège de l'attaque de l'exercice précédent sur l'échappement ?
- Le développeur remplace la valeur par un simple numéro croissant :
session=1042. Combien d'essais faut-il pour tomber sur une session ouverte, si le site en compte parmi les numéros à ?
Corrigé
1.
| `Secure` | le cookie n'est envoyé que sur une connexion HTTPS ; sans lui, une seule
requête en clair suffit à le révéler</th></tr><tr style=""><td style="text-align:left;padding:8px 12px;color:#34332D;vertical-align:top"> 2. 3. En moyenne, deux essais. Une session sur deux est ouverte parmi les numéros possibles : sur . Un simple programme trouverait une session valide en une fraction de seconde, et ce serait celle de quelqu'un. C'est pourquoi la valeur doit être imprévisible, et non seulement unique. Avec bits tirés au hasard, l'espace compte valeurs, soit environ ; même en essayant un milliard de valeurs par seconde, on n'en explorerait pas une fraction significative avant la fin du système solaire. Le raisonnement à retenir : un identifiant unique et un identifiant imprévisible ne sont pas la même chose. Un numéro de session croissant est parfaitement unique — et parfaitement devinable. La sécurité repose ici sur la taille de l'espace à fouiller, pas sur l'absence de collisions. Les autres exercices de ce chapitre Le cours du chapitre Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse. |
|---|