Bootstrap

XCTF pwn level2

使用ida打开发现buf只有0x88,但是读取了0x100,存在溢出点
在这里插入图片描述
然后存在system函数和字符/bin/sh
在这里插入图片描述
在这里插入图片描述
有一点不太懂,选的是_system的地址,而不是system的地址,看了师傅的wp好像是这题的system函数申明了一个外部近指针,没有内容,不太明白
在这里插入图片描述
然后就是构造payload
payload=“a”*(0x88+0x4)+p32(sys_addr)+p32(0)+p32(bin_addr)
0x88是缓冲区,0x4是覆盖原有ebp,然后接system的地址,p32(0)覆盖system的返回地址,然后参数/bin/sh的地址就能得到shell了
在这里插入图片描述
在这里插入图片描述

;