Aller au contenu

Cookie missing security attributes

Description

Cookie Secure : n'est envoyé au serveur qu'avec une requête chiffrée via le protocole HTTPS. Les cookies dépourvus du flag Secure peuvent être envoyés sur des canaux non chiffrés. La présence de ce flag ne doit pas justifier le stockage de données sensibles, car le cookie reste un endroit peu sûr pour stocker des données.

Cookie HttpOnly : aide à atténuer les vulnérabilités de type cross-site scripting (XSS). Les cookies HttpOnly sont inaccessibles depuis JavaScript via l'API document.cookie.

```http request Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly

#### Recommandation
Ajoutez les attributs de sécurité manquants aux cookies. L'ajout de ces flags dépend du framework utilisé et peut être soit un paramètre global, soit être fait manuellement en ajoutant les flags à la requête.

Pour les cookies de session gérés par PHP, le flag est défini soit dans `php.ini` :

```http request
session.cookie_secure = True

Ou dans le code :

setcookie ( string $name [, string $value = "" [, int $expires = 0 [, string $path = "" [, string $domain = "" [, bool $secure = FALSE [, bool $httponly = FALSE ]]]]]] ) : bool
setcookie ( string $name [, string $value = "" [, array $options = [] ]] ) : bool

Pour obtenir des détails précis sur la manière d'ajouter le flag, consultez la documentation de votre framework.

Liens

Normes

  • OWASP_ASVS_L1:
    • V3_4_2
  • OWASP_ASVS_L2:
    • V3_4_2
  • OWASP_ASVS_L3:
    • V3_4_2
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_3_6
    • REQ_3_7
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_11_3
  • HIPAA_CONTROLS:
    • SECURITY252
    • SECURITY212
    • SECURITY213