Pregunta

Leer esta publicación del blog sobre las cookies de HttpOnly me hizo empezar a pensar, ¿es Es posible obtener una cookie HttpOnly a través de cualquier forma de XSS? Jeff menciona que "sube el listón considerablemente" pero hace que parezca que no protege completamente contra XSS.

Aparte del hecho de que no todos los navegadores admiten esta función correctamente, ¿cómo podría un pirata informático obtener las cookies de un usuario si son HttpOnly?

No se me ocurre ninguna forma de hacer que una cookie HttpOnly se envíe por sí misma a otro sitio o sea leída por un script, por lo que parece que esta es una función de seguridad segura, pero siempre me sorprende la facilidad con la que algunas personas pueden hacerlo. trabajar alrededor de muchas capas de seguridad.

En el entorno en el que trabajo, usamos IE exclusivamente, por lo que otros navegadores no son una preocupación. Estoy buscando específicamente otras formas en que esto podría convertirse en un problema que no se base en fallas específicas del navegador.

¿Fue útil?

Solución

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

Pero, está de todas formas, ¿para robar las cookies httpOnly, con XSS? (¿Ignorando la pregunta de soporte httpOnly?) .... La respuesta es: sí.
Un subconjunto de XSS se conoce como Rastreo entre sitios (XST) (o vaya a documento de investigación original. Este ataque hace que la carga útil XSS envíe 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 " (un poco) de XSS, implica inyectar la carga útil en los encabezados de respuesta. Aunque es similar, esto no es exactamente XSS, y la Inyección de Encabezado puede incluso llevar a HTTP La división de respuestas (HRS) , que es mucho más potente, permite el control casi completo de otros clientes, el envenenamiento de caché y, por supuesto, el acceso a las cookies, si así lo desea.

Otros consejos

Si el navegador no entiende HttpOnly, el ataque tiene éxito. Editar: está bien, no estás preocupado. Eso está bien, pero dejaré este aviso solo como referencia. Es útil expresarlo explícitamente.

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

Por cierto, el robo de cookies 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égete de una buena manera (salida de escape), y piensa en HttpOnly como capa adicional de protección.

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

A menos 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, es probable que esté atado).

Como ha señalado otro cartel: XSS no es la única amenaza que existe, y la captura de cookies no es la única amenaza de XSS. Estoy seguro de que sabías esto, ¡sólo estoy completo!

¡Buena suerte!

JavaScript puede modificar el HTML en la página, por lo tanto, httpOnly not significa que está a salvo de XSS.

La detección de paquetes puede leer las cookies transmitidas a través de http. Pero puede que no caiga bajo el XSS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top