使用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了
相关文章
- 01-29XCTF (app1)
- 01-29XCTF-easydex
- 01-29xctf - forgot
- 01-29XCTF_MFC逆向
- 01-29XCTF bug
- 01-29XCTF高校网络安全专题挑战赛 |华为云专场重磅开启!
- 01-29XCTF练习题---WEB---view_source
- 01-29XCTF-echo_back2-WP
- 01-29XCTF练习题---MISC---What-is-this
- 01-29XCTF-FlatScience