简介:
逆到深处自然pwn,学习pwn的第一道正式意义上的题目。
参考blog:
https://blog.csdn.net/zz_Caleb/article/details/88980866
https://www.jianshu.com/p/355e4badab50
格式化字符串漏洞——CGfsb
1. 文件类型分析
ELF32位程序
2. ida查看伪代码
main函数,F5大法好
cat flag的关键点是pwnme==8,因此我们可以利用上面的printf函数,进行格式化字符串漏洞的利用。
接下来我们要做的就是找到printf输出的这个参数的地址,计算参数的偏移量
在ida中找到要利用的printf函数的地址:0x80486cd
3. gdb调试
gdb中b下断点,r运行
注:name可以随意输入,message长度需要为4,少于补充不足,多于会溢出。在后面查看esp寄存器中的地址和值时可以推断
查看esp寄存器地址和值:
0x7a786f66 = zxof (小端序)
偏移量为10,所以参数的位置就是10
4. 脚本
编写漏洞利用脚本
1 | from pwn import * |
5. pwntools使用
5.1 模块导入
1 | from pwn import * #将所有模块导入脚本 |
5.2 连接
1 | 本地 :sh = porcess("./level0") |
5.3 IO模块
1 | sh.send(data) #发送数据 |
本文作者:
foxcookie
发布时间: 2020-10-06
最后更新: 2023-07-21
本文标题: 攻防世界_pwn_CGfsb
本文链接: https://foxcookie.github.io/2020/10/06/攻防世界-pwn-CGfsb/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发布时间: 2020-10-06
最后更新: 2023-07-21
本文标题: 攻防世界_pwn_CGfsb
本文链接: https://foxcookie.github.io/2020/10/06/攻防世界-pwn-CGfsb/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!