hacktricks/pentesting-web/iframe-traps.md

3.8 KiB

Trampas de Iframe

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Información Básica

Esta forma de abusar de XSS a través de iframes para robar información del usuario que se desplaza por la página web fue publicada originalmente en estos 2 posts de trustedsec.com: aquí y aquí.

El ataque comienza en una página vulnerable a XSS donde es posible hacer que las víctimas no abandonen el XSS haciéndolas navegar dentro de un iframe que ocupa toda la aplicación web.

El ataque XSS básicamente cargará la página web en un iframe en el 100% de la pantalla. Por lo tanto, la víctima no notará que está dentro de un iframe. Entonces, si la víctima navega en la página haciendo clic en enlaces dentro del iframe (dentro de la web), estará navegando dentro del iframe con el JS arbitrario cargado robando información de esta navegación.

Además, para hacerlo más realista, es posible usar algunos escuchadores para verificar cuándo un iframe cambia la ubicación de la página, y actualizar la URL del navegador con esas ubicaciones para que el usuario piense que está moviéndose entre páginas usando el navegador.

https://www.trustedsec.com/wp-content/uploads/2022/04/regEvents.png

https://www.trustedsec.com/wp-content/uploads/2022/04/fakeAddress-1.png

Además, es posible usar escuchadores para robar información sensible, no solo de las otras páginas que la víctima está visitando, sino también de los datos utilizados para rellenar formularios y enviarlos (¿credenciales?) o para robar el almacenamiento local...

Por supuesto, las principales limitaciones son que una víctima que cierre la pestaña o introduzca otra URL en el navegador escapará del iframe. Otra forma de hacer esto sería actualizar la página, sin embargo, esto podría ser parcialmente prevenido al deshabilitar el menú contextual del clic derecho cada vez que se carga una nueva página dentro del iframe o al notar cuando el mouse del usuario abandona el iframe, potencialmente para hacer clic en el botón de recarga del navegador y en este caso la URL del navegador se actualiza con la URL original vulnerable a XSS, por lo que si el usuario la recarga, volverá a ser envenenado (nota que esto no es muy sigiloso).