Benvinguts de nou a un altre repte! Aquesta vegada, tenim un repte divers, un de Linux. Tens una closca, però no pots utilitzar lletres. Pots aconseguir la bandera a /flag.txt?
Sincerament, em vaig plantejar aquest repte. Tenia una solució prevista, però els jugadors en van trobar d'altres més fàcils i no desitjades. Així que... guardaré el camí previst per a un altre repte i revisaré els dels jugadors 🙃

Solució

Comencem a experimentar amb la nostra màquina Linux.
Com que podeu utilitzar símbols i números, podem utilitzar algun tipus de codificació per obtenir lletres? Una opció és la codificació hexadecimal, que podem avaluar mitjançant $'<hex>'.
  • Hexadecimal
Exemple:
$'\x6c\x73' # ls
La sintaxi $'' ens permet utilitzar seqüències d'escapada, inclosos els valors de bytes hexadecimals.
Però... les cartes encara són presents, així que necessitem alternatives. Altres codificacions que no utilitzen lletres són octal i decimal.

  • Decimal
Exemple:
$'\154\163' # ls

  • Octal
Exemple:
$'\154\163' # ls
Això també funciona.

Aconseguint la bandera

Ara, podem utilitzar cat per llegir la bandera:
$'\143\141\164' $'\57\146\154\141\147\56\164\170\164' # cat /flag.txt
flag
IEEE{1_t0ld_u_n0_l3tt3r5_m4n_D:}

Un altre enfocament creatiu és utilitzar l'ordre source, no directament amb lletres, sinó amb el . (punt) com aquest:
. /flag.txt
Això intenta executar el contingut de flag.txt, generant un error que filtra el contingut.
flag
Com que flag.txt conté lletres, podem utilitzar globbing per fer coincidir el fitxer sense utilitzar lletres:
. /????.???
Això coincideix amb flag.txt, intenta executar el seu contingut i genera un error que filtra el contingut.
flag
Això és tot per aquest repte! Espero que hagis après alguna cosa nova. Estigueu atents a més diversió de Linux en el futur! 😉