Web Hacking CTF: Infosec Institute Level 1

¡ Buenas !

Me pude sacar la facultad de encima y juro que tenía muchas ganas de retomar con el blog, ESTA VEZ para no dejarlo tirado más. Antes de que finalice el año voy a contar un poco como me fue este año en lo personal y profesional, fue muy satisfactorio. Así que bueno, arranquemos con la entrada como corresponde.

En una serie de 13 desafios, vamos a realizar el CTF de Infosec (nuevamente), pero en este caso nos ofrece un hacking challenge algo (en lo personal) mas divertido: hacking web apps.

imagen 1

Como ven, en la parte superior izquierda se encuentran los niveles, nosotros empezaremos (obviamente) desde el Level 1.

El ejercicio trata de introducir una alerta con el texto ‘Ex1’. Para ver su funcionamiento, primero enviamos una consulta valida, en el campo Site URL.

Imagen2

Lo mas lógico fue probar “alert(‘Ex1’)“, pero no dio resultado. Parece que se realizan ciertas validaciones client-side, ya que obtenemos una alerta de ‘Please match the request format’.

Podemos revisar el código con un gran ayudante, FireBug; para así tratar de ver las restricciones que tenemos dentro de este nivel. En la solapa script tenemos información importante sobre todos los scripts cargados en el sitio, que prestandole atención hay un archivo particular y muy llamativo: ex1.js.

Imagen3

Leyendo el .js existe una función que reemplaza nuestros ‘<>’ a su valor correspondiente en HTML.

Imagen4

Lo que se me ocurrió es crear un breakpoint en la sentencia siguiente, para ver que esta almacenando la variable siteName (la linea anterior). En este caso, lo relleno con el código:

< script>alert(“Ex1”)< /script>

Se ejecutara el breakpoint. Parandonos en la variable siteName, vemos como la restricción ha cambiado nuestro valor con los reemplazos de ‘< >’.

Imagen5

Entonces, ¿que hacemos? Editemos la property y creemos una nosotros, con el valor que querramos a la variable siteName.

Imagen6

¿Y con que lo rellenamos? Con el valor que le asignaremos a siteName:

siteName = ‘< script>alert(“Ex1”)< /script>’

Le damos a play y veamos que sucede.

Imagen7

Divertido por ser el primer nivel. Nos vemos en el proximo.

DynamicSec.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s