Posterior a investigar con expertos en este tema, programadores de varias ramas y profesores hemos dado con la respuesta a la interrogande y la compartimos en este post.
Solución:
los secure
bandera garantiza que la configuración y transmisión de una cookie solo se realiza de manera segura (es decir, https). Si hay una opción para http, la bandera segura debería evitar la transmisión de esa cookie. Por lo tanto, una marca de seguridad faltante se convierte en un problema si hay una opción para usar o volver a http.
httpOnly
asegura que los lenguajes de secuencias de comandos (es decir, javascript) no podrán obtener el valor de la cookie (como a través de document.cookie). La única forma de obtenerlo es a través de encabezados de solicitud y respuesta http. Por lo tanto, una falta httpOnly
junto con la vulnerabilidad XSS es una receta para el token de sesión robado.
lo mejor es poner httpOnly
y bandera segura para su token de sesión. Otras cookies, dependería de lo sensible que sea y para qué se utilice.
Estas dos banderas mitigan dos vectores de ataque completamente diferentes.
- HttpOnly: mitiga los ataques exitosos de Cross-Site Scripting.
- Seguro: mitiga los ataques Man-In-The-Middle.
Uno sin el otro significa que solo ha mitigado ese vector en particular. Es decir, depende de las amenazas de las que te estés defendiendo. HttpOnly sigue siendo útil incluso si Secure no está configurado, porque un Man-In-The-Middle también debe colocarse adecuadamente, por ejemplo, en la red local. Un atacante de secuencias de comandos entre sitios podría estar ubicado en cualquier lugar de Internet, por lo que mitigar esto en sí mismo sigue siendo útil.
Como nota, estas banderas deben ser medidas de “defensa en profundidad” únicamente. Recomendaría HSTS sobre el indicador Seguro y una política de seguridad de contenido estricta con la codificación de salida adecuada sobre los indicadores HttpOnly en cualquier momento, sin embargo, si su sistema ya está construido, agregarlos más tarde puede ser prohibitivo.
El indicador de cookie HTTPonly actúa como un control de seguridad para las cookies de sesión, ya que evita que los scripts del lado del cliente accedan al valor de la cookie. Esto es efectivo en caso de que un atacante logre inyectar scripts maliciosos en una página HTML legítima. El indicador HTTPonly evitará que el script malicioso acceda a la cookie de sesión y, por lo tanto, evitará el secuestro de la sesión.
Tenga en cuenta que esta marca solo reduce el riesgo a un cierto nivel y si existe una vulnerabilidad de inyección de secuencias de comandos, aún se puede explotar de varias maneras, como se explica aquí.
Si haces scroll puedes encontrar las interpretaciones de otros usuarios, tú igualmente tienes el poder insertar el tuyo si te apetece.