Pages

Ads 468x60px

miércoles, 14 de mayo de 2014

Reto XSS DragonJarCON



Bueno, después de haber hablado con mi compañero Jóse Pino (@Fr4phc0r3) y pedirle permiso para publicar MI solución al reto que propusieron, os dejo la forma en la que yo saque el reto.

Lo primero era acceder a la web que nos dejaba Jóse http://hubpi.co/retoxss/?clear y ver lo que teníamos en ella.




Lo que nos encontramos, como se puede apreciar en la imagen, es una web con un cuadro de "búsqueda" en el que debíamos insertar el script que lanzase un alert. 
La explicación para conseguirlo era la siguiente:






Como nos indican, debíamos sacar el alert usando el 1, de hecho si probamos a meter otro numero, veíamos el mensaje que nos devolvía.






Bueno, era el momento de ver que podíamos poner y que no. Para no liarme mucho, dejo una pequeña tabla con los caracteres que no eran permitidos y por cuales se cambiaba.

; = *
( = )
: = ;
< = /
> = <
+ =(
@ = =
% = >

Teniendo ya la equivalencia de los caracteres, sería mas fácil poder pasar el reto.

Si lo que queríamos era un <script>alert("1");</script> y sabiendo que caracteres no podíamos poner, solo debíamos hacer el cambio. Para ello, también fue de ayuda ir mirando el código de la pagina para ver que detalles o pistas nos daba.
Al meter el código de ejemplo y mirar el "fuente" veíamos esto:



Lo que devolvía la web

Lo que se veía en el código


Obviamente algo no estábamos haciendo bien. La solución pasaba por cambiar el codigo con los valores de la tabla anterior, quedando de la siguiente manera:

<script>alert("1");</script>
>script%alert+"1"(:><script%


Si nos íbamos a la web y poníamos el resultado del código cambiado...




Así conseguíamos superar el reto. Pero, ¿Y si vamos un poco más allá?. Que pasa si probásemos a poner nuestro nombre pasando por la web, simplemente poner el nombre fijo o, yendo un poco mas, allá sacar la cookie.




    <marquee>@1gbDeInfo</marquee>    
>marquee%1gbDeInfo>/marquee%



<h1> akil3s 
>h1%akil3s






<script>alert(document.cookie)</script>
>script%alert+document.cookie(>/script%



Después la cosa empezó a darme satisfacción y decidí buscar otras cosas divertidas como...





   <div class="core-bypass-texto" title="DragonJARcon">Reto XSS</div>      
>div class@"core-bypass-texto" title@"DragonJARcon"%1GbDeInfo>/div% 


Pero aún quedaba el apoteosico final xD. Tenia que conseguir incrustar una imagen en la web si o si, me llevó bastante mas tiempo porque no daba con ello y porque con el dicho filtrado no conseguía lo que quería. Al final, conseguí meter la imagen y dormí mas a gusto que un arbusto jeje.







En este caso no voy a poner el código, así "os reto" a que le deis unas vueltas a ver si lo sacáis xD.

Como siempre, dar las gracias a Jóse por el reto tan chulo y el trabajo que lleva detrás.



Roberto García (@1GbDeInfo)

Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates