Bien, una vez dentro del reto, no habia nada raro... Habia que encontrar un directorio para pasar al siguiente nivel. ¿Donde podríamos sacar información de los directorios?, bueno, de varias formas, pero lo primero siempre es probar a ver si existe el archivo "robots.txt". Este archivo sirve para prohibir a los robots de búsquedas que indexen un directorio, en caso de tener algo un poco personal. Por lo tanto comprobando si existe dicho archivo:
[Enlace externo eliminado para invitados]
Vemos que si, y que contiene el siguiente contenido:
User-agent: *
Disallow: /valsc/
Como vemos, indicamos que no queremos que se indexe el directorio /valsc/ , sea cual sea el User-Agent del bot. Por lo tanto ahí habrá algo interesante =P. Así que entramos:
[Enlace externo eliminado para invitados]
Cuando entramos, no hay casi ninguna diferencia respecto al primer index del reto :S. Y digo casi, por que la diferencia es que al final del código, podemos encontrar lo siguiente:
<form action="" method="post"><input type="hidden" name="pass" value="">
Como vemos, ya sabemos que este script se encargará de recibir datos enviados por "POST", y teniendo un "input hidden" llamado 'pass', deducimos que tenemos que adivinar una pass y enviar la peticion al script en el que nos encontramos para poder pasar al siguiente nivel =P. ¿Pero donde estaba la pass?. Bien fácil, la pass siempre estuvo al principio... Me explico, cuando revisamos el código fuente y encontramos ese "input hidden", no es la única diferencia que hay frente al primer index del reto... Y es que otra diferencia es la siguiente:
<img src="../bamer_88x31_3.png">
¡El pequeño banner de indetectables!. Desde el primer index del reto, podemos observar que en el código fuente aparece esto:
<img src="banner_88x31_3.png">
Vaya... Ahora tenemos dos .png, uno llamado bamer_88x31_3.png y otro llamado banner_88x31_3.png . La pregunta es ¿Por que dos imágenes iguales, llamadas de distinta forma?, ¿es raro verdad?. Quizás es por que no eran tan iguales... Descargamos las dos, y las comparamos con un editor hexadecimal:

Aja, banner a diferencia de bamer, tiene al final del archivo: 4@i/ . Por lo tanto esa podría ser la pass... Así que probamos a hacer la petición POST con esa pass, pero vemos que el script no da ninguna respuesta... No la da por que no era esa la pass, sino el valor en hex: 3440692F ;). Si probamos a enviar la petición POST con esa pass, obtendremos como respuesta un archivo:

Claro que, el archivo no tiene extensión, así que no sabemos si se trata de la foto o de otro archivo. En estos casos es recomendable usar la función "file" de linux. Así que la usamos y:

Vaya, no ha podido saber de que archivo se trata... ¿por que?, pues lo primero en pensar es que la cabecera está dañada. Así que de nuevo, volvemos a abrir nuestro editor hex, y abrimos el archivo:

Al fijarlos en la cabecera, lo más destacado que vemos es "$DoC". ¿Será ese el motivo de que la cabecera este dañada?, ¿Será esta la imagen del perro?, pues lo primero que haremos será comparar el fichero con otra imagen, por ejemplo un archivo .png:

No, esta cabecera no se parece en nada, así que probamos con un .jpg:

Pues esta, ahora que me fijo se parece xD, justo donde pone "JFIF" cabe "$DoC"!, además de más coincidencias. Así que ya sabemos que nuestro archivo es un jpg!. Ahora lo mejor sera abrir el archivo y comparar la cabecera con un .jpg:

Como vemos, donde deberían haber 2 "FF", nuestro archivo tiene 2 "00". Por lo tanto, ese es el error que hay en la cabecera y que hacía in-utilizable la función 'file' de linux.
Y bien, editamos esos dos valores de la cabecera. Guardamos. Y ponemos la extensión .jpg al archivo, y como resultado: tenemos a un lindo perro
El reto no era complicado, pero si que había que conocer la existencia del archivo robots.txt y tener buen ojo en el código fuente ;). Los chicos que pasaron el reto son:
[+] snk
[+] MichBukana
Un saludo!