BUUCTF not_the_same_3dsctf_2016
checksec 检查开启了什么保护
开启了nx保护
本地执行一下并没有看出啥
拉入32位ida
主函数代码,接着找找字符串
发现flag.txt,找到调用它的函数
我是个pwn小白,一开始以为直接在main的get函数里溢出覆盖返回地址到这个函数就可以了,构造payload后发现程序卡住了
然后看其他大佬的解题思路,发现从mprotect这个函数入手
32位程序参数从栈上传,但我们要保证栈平衡来让程序继续正常运行,所以我们要找三个pop,把我们构造的参数弹出去
利用工具找到我们需要的pop地址
R
原创
2021-06-14 18:33:51 ·
198 阅读 ·
0 评论