例行检查
开了沙箱
程序逻辑很简单,存在0x18字节溢出,看是否能进行栈迁移,目前可控输入只有buf,但是buf只有0x20大小不够rop,所以尝试别的方法。程序在最开始mmap了一块内存,可写可执行,那么接下来目标就是1.在这块内存上写shellcode
2.跳转过来执行
由于不能rop且栈是可执行的想到能不能进行jmp rsp。在程序中找到了这个指令。
那么就可以在buf上布置read以及跳转的shellcode。在jmp rsp时跳转到buf去执行,buf地址是rsp-0x30,sub rsp,0x30;jmp rsp小于8字节满足要求。
from pwn import *
io=remote('node3.buuoj.cn',