Si un token de sesión se almacena en una cookie que se ha configurado httponly, ¿hay alguna forma en que una vulnerabilidad XSS podría permitir que un usuario malintencionado robe un token de sesión de los usuarios?
Si un token de sesión se almacena en una cookie que se ha configurado httponly, ¿hay alguna forma en que una vulnerabilidad XSS podría permitir que un usuario malintencionado robe un token de sesión de los usuarios?
En general, si httponly
está configurado en su token, entonces un ataque XSS no debería poder recuperar un token de sesión. Modulo los errores anteriores en los navegadores y complementos, y la configuración incorrecta del servidor (por ejemplo, respondiendo a HTTP TRACE).
Pero no vale mucho. Puede impedir que XSS obtenga el token, pero un ataque XSS todavía tiene el control total de la sesión en la máquina del usuario: puede forzar al usuario a hacer casi cualquier cosa en el sitio o falsificar la interfaz del usuario con el sitio ( por ejemplo, a phish para credenciales del sitio). Consulta BeEF para ver un ejemplo de lo que un atacante puede lograr con una sesión comprometida: ya casi has perdido.
No configurar httponly
en el mejor de los casos hace que la vida del atacante sea un poco más fácil, ya que puede acceder a la sesión desde su propia máquina en su propio tiempo, en lugar de estar limitada por la cantidad de tiempo que el usuario mantiene abierta la ventana del navegador. Vale la pena tener httponly
cuando sea posible, pero es una mitigación suave que no te protege mágicamente de los efectos de XSS.
Si se hace correctamente, HttpOnly evita que un atacante robe la cookie. Sin embargo, aún pueden realizar solicitudes web arbitrarias que suplanten a los usuarios víctimas y extraer las respuestas. Por ejemplo, BEEF tiene un módulo para hacer esto.
En otras palabras, HttpOnly hace las cosas más difíciles para un atacante, pero no detiene a un atacante experto.
Además, como han señalado otros, hay varios defectos que pueden permitir que un atacante extraiga una cookie HttpOnly.
Línea inferior: todo XSS es potencialmente grave y necesita corregir las fallas de XSS.
La función HttpOnly se puede omitir en ciertas versiones de algunos navegadores y servidores web.
Más datos (natexim )
Más datos (google)
Los ataques XSS son tan flexibles que aún pueden ejecutarse si, por ejemplo, se ha usado la función HttpOnly para ocultar la cookie de JS y ETC. páginas web internas, etc.
Sí. Principalmente. El encabezado evita "Robo de cookies", que es una forma fácil para que un script secuestre su sesión.
También depende si su navegador admite el encabezado HTTPonly. Si no, se ignora y la funcionalidad que crea nunca sucede.
Aquí hay un enlace que explica el encabezado un poco más. También contiene una tabla que muestra qué navegadores lo admiten: enlace
si HTTPOnly no está configurado en el encabezado, será vulnerable. a XSS, solo tanto como su navegador admita este indicador en el encabezado. El elemento importante a entender es que esto depende principalmente de la capacidad de los navegadores web para establecer esta bandera.
Lea otras preguntas en las etiquetas web-application xss cookies