


可以看到print_str函数相当长,我们可以远程连接一下,可以得到以下结果

结合print_str中22行的信息可以得到此函数会将输入的内容在油库里的对话框中输出,且50个字符会换行,且因为函数中已经进行了格式化(%s)我们无法对栈上内容做出修改,但泄露还是可以的,且与油库里的对话在输入n/N前是无限循环的,结合vuln函数最后有个非栈上的格式化字符串,我们可以通过泄露libc和栈地址,修改printf的got表为system,将返回地址修改为vuln,再读入/bin/sh\x00达到getshell.
stage1:
通过gdb调试确定栈上地址与输入的偏移

距离输入(0x1e-0x2)

最低0.47元/天 解锁文章
1340

被折叠的 条评论
为什么被折叠?



