sábado, 10 de noviembre de 2018

Capturando la bandera de algunos retos de root-me

Lo importante de los CTFs es entrenar mucho. Hay muchos ámbitos que tocar y por ello lo mejor es encontrar sitios online que nos permitan entrenar en esas ramas. Yo suelo utilizar mucho root-me, pero no soy un gran experto de los CTFs, por lo que si tenéis alguna mejor, no dudéis en decirlo. Toda sugerencia es bienvenida.



Cada uno debe entrenar la parte en la que esté "más perdido". Yo estoy haciendo de momento muchos de web hacking. En el post de hoy del lado del cliente. Son retos sencillitos, de 5 puntos todos excepto el último que es de 10, pero vamos, igualmente bastantes sencillitos para calentar un poco.



El primero era muy sencillo. Consistía en un formulario que no podíamos modificar. En la captura veis "root" porque tomé la captura después de hacerlo, pero no sale nada. Así pues, si nos vamos a "Inspeccionar elemento" vemos que utiliza la opción "disabled" de HTML para no permitir la edición de estos campos. Lo único que tenemos que hacer es suprimir la opción "disabled" e introducir cualquier texto y pulsar en submit.


Al pulsar en submit, nos mostrará la flag. Eso es lo que tenemos que typear en el cuadro de la solución.


Si es correcto, nos dará 5 puntos, sino, no nos dará ninguno pero tendremos más intentos. Como veis, un reto bastante sencillito.


El segundo es del mismo estilo pero con código JavaScript. Tenemos un login qu enos muestra que la contraseña es incorrecta, pero mirando el código de la web, vemos que hay un archivo js con el nombre login.


Esa verificación del login es de 1º de programación, y no suele ser muy común encontrarlo, pero bueno, nos dan el login ya en bandeja.




Y venga, otros 5 puntos para el bolsillo, al final me llevo la vaporeta.




Este reto me gustó más. Requería entender mejor el código. Este reto consistía en un botón que al pulsar nos salía un alert con, primero el usuario y posteriormente la password. Me gustó mucho el mensaje de después.


Parecía fácil e igual que el anterior, pero hay matices. En primer lugar tenemos que al hacer click en el botón de submit, va a consultar las credenciales en el archivo login.js. Veamos ese archivo.


Por partes. Tenemos la variable TheLists, el cuál se va a consultar cada carácter con el bucle for que hay después. Va a buscar la variable username y si está vacía, que lo está, pasará a seprar la variable TheLists ¿Cómo separa?  Pues como un "cut" en GNU/Linux. Aquí le pasamos el delimitador ":", por lo que después va a buscar el elemento 0 del array (GOD) y posteriormente el elemento 1 (HIDDEN). Si no lo veis así de repente, podéis pasar ese código a vuestra máquina y testearlo. Un ejemplo sería este.


Así se verá más claro. Este reto me gustó más que los anteriores por el simple hecho de que requiere de un análisis mayor que los anteriores.

Os seguiré comentando CTFs que me parezcan interesantes, y si conocéis otras plataformas, no dudéis en en comentarme.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...