Wikipedia ofrece information about one of the most common scenarios para la explotación de una cruz lugar del ataque de secuencias de comandos reflejado - el uso de un cierto grado de ingeniería social para inducir a los usuarios confiados para hacer clic en un enlace malicioso:¿Cuáles son los posibles vectores de ataque para scripts reflejados en sitios cruzados?
- Alice menudo visita un sitio web en particular, que es organizada por Bob . El sitio web de Bob permite a Alice iniciar sesión con un par de nombre de usuario/contraseña y almacena datos confidenciales, como la información de facturación .
- Mallory observa que el sitio web de Bob contiene una vulnerabilidad XSS reflejada.
- Mallory crea una URL para explotar la vulnerabilidad y envía un correo electrónico a Alicia , invitándola a hacer clic en el enlace para obtener la URL bajo pretextos falsos. Esta URL apuntará al sitio web de Bob, , pero contendrá el código malicioso de Mallory, que reflejará el sitio web.
- Alice visita la URL proporcionada por Mallory mientras está registrado en el sitio web de Bob .
- El script malicioso incrustado en la URL ejecuta en el navegador de Alice, como si viniera directamente desde el servidor de Bob (esta es la real vulnerabilidad XSS ). La secuencia de comandos se puede usar para enviar la cookie de sesión de Alice al Mallory. Mallory puede usar la cookie de sesión para robar la información sensible disponible para Alice (credenciales de autenticación, información de facturación , etc.) sin el conocimiento de Alice.
Ahora, esto es por lo general tiende a ser muy buen ejemplo cuando el sitio web pasa a ser una aplicación de la página impulsada - la vulnerabilidad es explotada por conseguir al usuario a presentar una carga maliciosa a la aplicación (que es más importante , al emitir una solicitud GET al iniciar sesión) que se refleja en la respuesta.
¿Existen vectores de ataque más interesantes, especialmente los que se deben tener en cuenta cuando la aplicación utiliza mucho AJAX y la mayoría de las solicitudes se realizan a través de HTTP POST?
EDITAR
En caso de que no estaba claro, me gustaría saber los diferentes tipos de ataques de vectores aplicable a reflejaba ataques XSS, sobre todo cuando el nivel del lado del cliente de la aplicación se implementa de forma diferente . Las aplicaciones basadas en páginas tendrían un vector de ataque que implica las solicitudes HTTP GET emitidas por un usuario, pero sería interesante saber cómo funciona esto para las aplicaciones de cliente grueso, especialmente las que usan objetos XMLHttpRequest que emiten solicitudes HTTP POST. Diferentes mecanismos utilizados en la representación del lado del cliente obviamente justificarán el estudio de diferentes vectores de ataque. En algunos casos, puede que no haya ningún vector de ataque aplicable; la pregunta se expresa para provocar tal respuesta.
me gustaría sugerir Serverfault podría ser un lugar más apropiado para esta cuestión o, tal vez, http://webmasters.stackexchange.com/ –
@ricebowl, pero ¿por qué me lo puso en serverfault? No estoy buscando consejos para reforzar un servidor. Intento deducir un conjunto de vectores de ataque en una aplicación web. Eso es algo que las personas versadas en seguridad pueden responder. Tal como lo veo, esta es una pregunta sobre el diseño de seguridad: ¿la vulnerabilidad al XSS reflejado debe tomarse en serio si una aplicación se escribe de una manera particular? –
No estoy sugiriendo completamente que SF * sea * el lugar correcto, solo estoy viendo los dos votos cercanos que sugieren migrar * a * SF. Personalmente, creo que webmasters.stackexchange.com sería una mejor opción, aunque cualquiera de ellos sería, en mi opinión, una mejor opción que SO, precisamente por el enfoque basado en el servidor de esos sitios (y el enfoque de la aplicación web). de esta pregunta). Los usuarios de esos sitios pueden, obviamente, sentirse de manera diferente que yo. –