buuoj - 第五空间2019 决赛
From buuoj.
文件分析
下载pwn
,NX on, PIE on, RELRO partial
ghidra分析为32位程序
解题思路
找到main函数后,发现输入username和passwd,并且存在后门:当passwd==randint时,打开sh,其中randint从文件读入为随机数
由于读入的username和passwd长度等于其数组长度,无法考虑 栈溢出 ,转而考虑对atoi()
的利用
Day 2
由于username在函数printf
中,因此应当考虑格式化字符串漏洞将指定数值注入randint
EXPLOIT
经过gdb调试可知,变量username
所在地址比printf第一个参数的地址高0x28,即10个DWORD
构造以下exp:
1 | from pwn import * |
Done.
- 标题: buuoj - 第五空间2019 决赛
- 作者: RocketDev
- 创建于 : 2023-09-19 12:00:00
- 更新于 : 2024-07-25 12:34:56
- 链接: https://rocketmadev.github.io/2023/09/19/pwn5/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论