Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
hackingweek_2014:exploit:exploit1 [2014/03/03 01:40] ganapati créée |
hackingweek_2014:exploit:exploit1 [2017/04/09 15:33] (Version actuelle) |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| Source : | Source : | ||
| - | + | <code C> | |
| - | #define _GNU_SOURCE | + | #define _GNU_SOURCE |
| - | #include <stdlib.h> | + | #include <stdlib.h> |
| - | #include <unistd.h> | + | #include <unistd.h> |
| - | int main(){ | + | int main(){ |
| - | gid_t gid = getegid(); | + | gid_t gid = getegid(); |
| - | uid_t uid = geteuid(); | + | uid_t uid = geteuid(); |
| - | setresgid(gid, gid, gid); | + | setresgid(gid, gid, gid); |
| - | setresuid(uid, uid, uid); | + | setresuid(uid, uid, uid); |
| - | system("/usr/bin/env echo Find the flaw!"); | + | system("/usr/bin/env echo Find the flaw!"); |
| - | return EXIT_SUCCESS; | + | return EXIT_SUCCESS; |
| - | } | + | } |
| + | </code> | ||
| la commande system() appelle echo sans son path absolu, mais en se basant sur la variable d'environnement PATH. | la commande system() appelle echo sans son path absolu, mais en se basant sur la variable d'environnement PATH. | ||
| Il faut donc redéfinir la commande (ex : /tmp/echo) | Il faut donc redéfinir la commande (ex : /tmp/echo) | ||