250614_smileyCTF learning record
250614_smileyCTF learning record
cvestone【全栈ctfer计划中,会持续复现学习与更新该文章】
pwn
debuggable-1
babyrop
考察知识点:
比赛时的临时笔记
功能是获取输入后并输出。
静态分析
main()
gets()
自定义的
gets()
实现,读取最多700字节到a1指向的缓冲区(main中的s),若读取成功(v2 > 0
),手动将缓冲区最后一个字符(v2-1
位置)设为0
(字符串终止符)。gadgets()
- 无后门函数
- 输出函数
这里调用
print()
实际上是去libc中寻找puts()
漏洞点分析
自定义的gets()
中,读取700字节到s[32]
,显然容易造成溢出。
利用思路
显然是常规的ret2libc
类型。
卡住的地方
cyclic寻找溢出偏移量: offset = 40
这里有个坑,puts的plt、got其中一个找不到,还有print的干扰。。。暂时没啥思路了。
blargh
考察知识点:
比赛时的临时笔记
评论
匿名评论隐私政策
TwikooValine
✅ 你无需删除空行,直接评论以获取最佳展示效果