buuoj - 2019国赛第一题
From buuoj.
文件分析
下载ciscn_2019_c_1
, NX on, PIE off, RELRO partial
ghidra分析为64位程序
解题思路
函数encrypt()
中存在gets
,考虑栈溢出攻击
.text段中不存在后门函数,并且有nx,考虑ret2libc
记录首次学会
- 获取
pop rdi; ret;
和puts@plt地址 - 栈溢出打印puts@got
- 根据puts@got获知靶机使用的libc
- 将puts@got偏移到system@got & shstr@got
- 回到
gets
函数,重新执行溢出拿到sh
如果一个字节为0x0a,会被截断!(换行)
EXPLOIT
1 | from pwn import * |
Done.
- 标题: buuoj - 2019国赛第一题
- 作者: RocketDev
- 创建于 : 2023-09-20 12:00:00
- 更新于 : 2024-07-25 12:34:56
- 链接: https://rocketmadev.github.io/2023/09/20/ciscn2019c1/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论