BUUCTF 第五空间PWN5
考点
- 格式化字符串漏洞
解题过程
- 首先使用
checksec
工具查看基本信息
为32位,canary,dep防护
- 使用ida工具进行静态分析。
main
main函数主要代码如上图所示,可以看见print((int)v7)
存在格式化字符串输出漏洞,因此可以考虑进行利用(注:由于输入read限制了输入长度,导致无法通过泄漏canary方法来进行栈溢出攻击。)
- 构造python脚本如下,主要思路为修改printf的got表plt地址为要执行的代码地址(若开启full relro则无法使用),然后再代码执行到下一次调用printf函数时会转去执行目标代码。获得shell。
1 | from pwn import * |
结果
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Small Utopia!
评论