Cookie missing security attributes
Cookie sin atributos de seguridad
Descripción
Cookie Secure: solo se envía al servidor con una solicitud cifrada a través del protocolo HTTPS. Las cookies que carecen del flag Secure pueden enviarse a través de canales no cifrados. La presencia de este flag no debe justificar el almacenamiento de datos confidenciales, ya que la cookie sigue siendo un lugar inseguro para almacenar datos.
Cookie HttpOnly: ayuda a mitigar las vulnerabilidades de cross-site scripting (XSS). Las cookies HttpOnly son inaccesibles desde JavaScript utilizando la API document.cookie.
```http request Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
#### Recomendación
Agregue los atributos de seguridad que faltan a las cookies. La adición de este flag depende del framework utilizado y puede ser una configuración global o realizarse manualmente agregando los flags a la solicitud.
Para las cookies de sesión gestionadas por PHP, el flag se establece en `php.ini`:
```http request
session.cookie_secure = True
O en el código:
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
Para obtener detalles precisos sobre cómo agregar el flag, consulte la documentación de su framework.
Enlaces
Estándares
- 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