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) |