Bandit level 8

Nivel 8 de Bandit

Esta es la traducción del enunciado para acceder al nivel 9 de Bandit.

Enunciado Bandit Level 8 → Level 9:

La contraseña para el siguiente nivel se almacena en el archivo data.txt y es la única línea de texto que aparece una sola vez

Datos para la conexión (el password lo conseguimos cuando resolvimos el nivel 7):

  • Host: bandit.labs.overthewire.org
  • Port: 2220
  • User: bandit8
  • Password: TESKZC0XvTetK0S9xNwm25STk5iWrBvP

Realizamos la conexión desde la terminal.

ssh [email protected] -p 2220

La forma más sencilla para encontrar esta clave es ordenar con el comando sort e indicarle que nos muestre las líneas que son únicas con unic -u.

sort data.txt | uniq -u
Resolviendo el level 8 de Bandit con sort y uniq -u

Contraseña rescatada: EN632PlfYiZbn3PhVK3XOGSlNInNE00t

También podríamos haber encontrado esta clave haciendo uso del comando awk, aunque es bastante más compleja.

awk '++lineas[$0]==2 { delete lineas[$0] } END { for (line in lineas) print line }' data.txt

Analicemos qué hace el comando awk que se ejecuta sobre data.txt.

  • ++lineas[$0]==2 → Aumentamos el contador de repeticiones para cada línea y evalúa si es igual a 2. Si es igual a 2 es que la línea se está repitiendo y se agrega al array lineas.
  • delete lineas[$0] → Si el contador de repeticiones es mayor que 2 eliminamos la línea del array.
  • END → Lo que hay a partir de aquí se ejecuta una vez que ha terminado de analizar todas las líneas.
  • for (line in lineas) print line → Mostramos únicamente las líneas que no se repiten.

Con esta contraseña ya podemos acceder al nivel 9 de Bandit.

Ahora haciendo uso del comando time vamos a comparar los tiempos realizándolo de las dos formas que hemos visto.

Comparando los tiempos de las dos formas de resolver level 8 de Bandit

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *