true the that secure only for flag ensure cookie all security cookies xss

security - the - httponly cookie php



¿Es posible que un ataque XSS obtenga cookies HttpOnly? (5)

Leer esta publicación de blog sobre las cookies de HttpOnly me hizo comenzar a pensar, ¿es posible que se obtenga una cookie de HttpOnly a través de cualquier forma de XSS? Jeff menciona que "sube la barra considerablemente" pero hace que parezca que no protege completamente contra XSS.

Además del hecho de que no todos los navegadores admiten esta característica de manera adecuada, ¿cómo podría un hacker obtener las cookies de un usuario si son HttpOnly?

No se me ocurre ninguna forma de hacer que una cookie HttpOnly se envíe a otro sitio o que se lea por script, por lo que parece que esta es una función de seguridad segura, pero siempre me sorprende la facilidad con que algunas personas pueden trabajar con muchos capas de seguridad.

En el entorno en el que trabajo, utilizamos IE exclusivamente para que otros navegadores no sean una preocupación. Estoy buscando específicamente otras formas en que esto podría convertirse en un problema que no dependa de fallas específicas del navegador.


El rastreo de paquetes puede leer las cookies transmitidas a través de http. Pero puede no caer bajo el XSS.


El uso de cookies HttpOnly evitará que los ataques XSS obtengan esas cookies.

A no ser que:

  • su navegador no es compatible con HttpOnly
  • hay una vulnerabilidad hasta ahora desconocida en el navegador que rompe HttpOnly
  • el servidor se ha visto comprometido (pero de todos modos probablemente te laves).

Como ha señalado otro afiche: XSS no es la única amenaza que existe, y agarrar cookies no es la única amenaza de XSS. Estoy seguro de que lo sabías, ¡solo estoy siendo completo!

¡Buena suerte!


Si el navegador no comprende HttpOnly, el ataque tiene éxito. Editar: de acuerdo, no estás preocupado. Está bien, pero dejaré este aviso solo como referencia. Es útil indicarlo explícitamente.

Otra forma de robar además de oler la red sería el control directo de la computadora del usuario. Entonces las cookies se pueden leer desde un archivo. Si se trata de una cookie de sesión, se eliminará, por supuesto, después de que se cierre el navegador.

Por cierto, robar la cookie de sesión no es la única "carga útil" del ataque XSS. Por ejemplo, puede hacer que su protección CSRF sea inútil. Puede alterar los contenidos de su sitio para engañar al usuario. Y muchas otras cosas maliciosas.

Así que mejor protéjase de una buena manera (salida de escape), y piense en HttpOnly como una capa adicional de protección.


Primero, como mencionaron otros, XSS puede permitir otras cargas útiles, no solo el robo de cookies.

Pero, ¿ hay alguna forma de robar las cookies de httpOnly con XSS? (¿ignorando la pregunta de httpOnly support?) .... La respuesta es: Sí.
Un subconjunto de XSS se conoce como Cross-Site Tracing (XST) (o vaya al documento de investigación original). Este ataque tiene la carga útil XSS enviar una solicitud HTTP TRACE al servidor web (o proxy , reenviar O revertir), que devolverá al cliente la solicitud completa, INCLUYENDO SUS COOKIES, httpOnly o no. La carga útil XSS puede analizar la información devuelta y recuperar esas deliciosas cookies ...

Por cierto, otro "subconjunto" más (un poco) de XSS, implica la inyección de carga en los encabezados de respuesta. Aunque similar, esto no es exactamente XSS, y la Inyección de encabezado puede incluso conducir a HTTP Response Splitting (HRS) , que es mucho más potente, permite un control casi completo de otros clientes, envenenamiento de caché y, por supuesto, acceso a cookies, si así lo desea.


JavaScript puede modificar el código HTML en la página, por lo tanto, httpOnly no significa que esté seguro contra XSS.