Los diferentes navegadores habilitan diferentes medidas de seguridad cuando se establece el indicador HTTPOnly . Por ejemplo, Opera y Safari no impiden que JavaScript escriba en la cookie. Sin embargo, la lectura siempre está prohibida en la última versión de los principales navegadores.
Pero, lo que es más importante, ¿por qué quiere leer una HTTPOnly
cookie? Si es un desarrollador, simplemente desactive la marca y asegúrese de probar su código para xss. Le recomiendo que evite deshabilitar esta bandera si es posible. La HTTPOnly
bandera y la "bandera segura" (que obliga a que la cookie se envíe a través de https) siempre deben estar configuradas.
Si eres un atacante , querrás secuestrar una sesión . Pero hay una manera fácil de secuestrar una sesión a pesar de la HTTPOnly
bandera. Todavía puede seguir la sesión sin conocer la identificación de la sesión. El gusano MySpace Samy hizo precisamente eso. Usó un XHR para leer un token CSRF y luego realizar una tarea autorizada. Por lo tanto, el atacante podría hacer casi cualquier cosa que pudiera hacer el usuario registrado.
La gente tiene demasiada fe en la HTTPOnly
bandera, XSS aún puede ser explotable. Debe establecer barreras alrededor de las funciones sensibles. Por ejemplo, el cambio de contraseña archivado debe requerir la contraseña actual. La capacidad de un administrador para crear una nueva cuenta debería requerir un captcha, que es una técnica de prevención de CSRF que no se puede omitir fácilmente con un XHR .