BUU刷题日记_PWN5
导语
pillar的pwn刷题日记
[第五空间2019 决赛]PWN5 1
检查一下
32位,开启canary和nx
利用strings可以找到/bin/sh
ida打开,看到system函数和printf
并且看到这里直接printf了我们输入的name
所以直接格式化字符串,将unk_804C044的值改了,然后输入相同的内容就可。
利用%08x找到格式化字符串和我们之间的距离为10
格式化字符串漏洞即 格式化的%n会往当前所指的地址的内容的地址写入已经打印出来的字符的长度。再利用X$(X为任意数值)来作为距离格式化字符串所在地址的偏移量,即可实现任意位置写。
然后我们在AAAA的地方写上0x804c044,在加上%10$n就可以将AAAA所在位置的内容地址写为len(0x804c044)+len(%10$n)=4
from pwn import * |
但是没太搞懂这个要怎么在gdb里动态调试,希望有大手子教一下……
后面看别人wp,可以改写atoi的got地址为system,然后输入/user/bin
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 π1L4r!
评论