Underc0de

[In]Seguridad Informática => Seguridad web y en servidores => Mensaje iniciado por: ANTRAX en Mayo 18, 2015, 12:05:32 am

Título: XSS por POST
Publicado por: ANTRAX en Mayo 18, 2015, 12:05:32 am
Hola a todos!

Por el foro he visto muchos papers o tutoriales sobre XSS, pero ninguno habla del metodo POST.
Hace unos días reportaron un XSS por POST en el formulario de contacto de Underc0de. Por suerte no era nada riesgoso, pero era una vulnerabilidad que debíamos arreglar.
En esta ocasión usaremos el código de ese formulario de contacto para reproducir la falla y para ver como probar si nuestras aplicaciones son vulnerables a los XSS por POST.

El código del formulario de contacto está acá: www.hospedando.com.mx/descargas/formulario.zip por si alguno desea realizar la prueba.

Además, necesitaremos alguna herramienta que modifique los parámetros que enviemos por POST. Yo usare Tamper Data que es un complemento de Firefox:

https://addons.mozilla.org/es/firefox/addon/tamper-data/

Una vez montado el formulario de contacto se vera algo así:

(https://lh5.googleusercontent.com/-ZWufEYHUdmQ/VVlVPvI83cI/AAAAAAAADkM/AHz4L0VKlH0/w620-h582-no/1.png)

El primer paso será completar todos sus campos y abrie Tamper Data. Una vez hecho esto, damos en "Comenzar Modificación" (En el tamper data) y enviamos el formulario de contacto.
Seguido a esto, nos aparecerá una alerta en Tamper Data para modificar los datos que estamos enviados.

(https://lh4.googleusercontent.com/-j_kAR_ncjSM/VVlVQ8oixYI/AAAAAAAADkc/kyJP34cN284/w1033-h582-no/2.png)

Damos en modificar, y revisamos los valores que está enviando del lado derecho, que son los que hemos cargado desde el formulario.

(https://lh6.googleusercontent.com/-lBsFfUVKZIA/VVlVQ_OOqbI/AAAAAAAADkY/bvl4P16IJU4/w640-h655-no/3.png)

Ahora es momento de jugar con estos campos. Este formulario de contacto no filtra sus variables, asique colocaremos algún vector de XSS en sus parámetros.
En este caso, coloqué un simple alert en el campo correo.

<script>alert('XSS')</script>

Al dar en Aceptar, el sitio seguirá cargando con la nueva información suministrada...

(https://lh6.googleusercontent.com/-U_ew3Toe_4o/VVlVTf4LZHI/AAAAAAAADkk/LdbBOytPgbk/w1129-h607-no/4.png)

Y como podrán apreciar, apareció el Alert con nuestro mensaje.

Espero que les sirva!

Saludos!
ANTRAX
Título: Re:XSS por POST
Publicado por: EPSILON en Mayo 18, 2015, 11:36:37 pm
Muy bueno @ANTRAX (https://underc0de.org/foro/index.php?action=profile;u=1) !, esto viene muy bien porque mucha gente cree o se limita a pensar que este bug solo se explota por GET al igual que las Inyecciones SQL y esto no es así, y no esta de más decir que también pueden utilizar Live HTTP Headers o BurpSuite para editar cabeceras ya que las considero de fácil uso.  Saludos!
Título: Re: XSS por POST
Publicado por: GENIOL en Agosto 16, 2021, 09:57:39 am
excelente post!!! muchas gracias por el aporte!! HailUnderc0de
Título: Re: XSS por POST
Publicado por: elshotta en Agosto 19, 2021, 01:34:44 pm
muy bueno,
pero entonces lo que quieres decir es que por el formulario normal no se puede poner el xss?
solo es capturando el valor con el tamperdata?