¿Las secuencias de comandos entre sitios y el uso de cookies de solo http?

14

He sido un desarrollador y ahora estoy tratando de ver XSS desde el punto de vista de un desarrollador. Estaba pensando en un caso particular de XSS reflejado. Digamos que tenemos un sitio web vulnerable y si un atacante puede engañar a los usuarios para que hagan clic en un enlace malicioso, puede obtener sus tokens de sesión usando document.cookie

Me preguntaba si el sitio web comienza a usar http-only cookies (supongo que esto hará que sea imposible acceder a los tokens de sesión mediante el uso de JavaScript. ¿Estoy perdiendo un punto?) pero aún es vulnerable al script inyección en tal caso, ¿cuáles son las opciones que le quedan al atacante? ¿Cuáles son las otras formas de explotar esta vulnerabilidad?

    
pregunta Shurmajee 25.07.2013 - 07:08
fuente

1 respuesta

14

Hay dos patrones de ataque principales que pueden ser explorados por un atacante armado con una vulnerabilidad XSS que afecta a una aplicación que usa HTTPOnly cookies.

En primer lugar, un atacante puede utilizar un método de explotación similar al gusano Sammy . En este patrón de ataque, la carga útil XSS utiliza un XMLHttpRequest para leer un token CSRF y realizar una acción como si fuera la víctima. Las acciones comunes serían agregar un nuevo usuario administrativo, cambiar su contraseña (o dirección de correo electrónico para restablecer la contraseña) o incluso transferir fondos. Cualquier acción que la sesión autenticada pueda realizar, debería poder realizarla con JavaScript mediante la lectura de tokens CSRF.

El segundo ataque está aprovechando un dominio de confianza. Digamos que el objetivo es https://sometrustedbank.com . Ese HTTPS parece bastante brillante para los usuarios informados, pero un atacante puede modificar cualquier contenido en esta página asignando document.body.innerHTML a cualquier valor. Un atacante podría realizar un ataque de phishing muy convincente, donde las víctimas indefensas son dirigidas a https://sometrustedbank.com y se les pide que divulguen información personal (y profundos secretos oscuros). En este caso, el contenido es el rey, y un usuario desconoce que este contenido se origina en un atacante.

En resumen; habilite HTTPOnly Cookies, pero sepa que esta función de seguridad nunca fue sangrada para detener XSS.

    
respondido por el rook 25.07.2013 - 07:23
fuente

Lea otras preguntas en las etiquetas