堆漏洞利用手册
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/heap-exploitation-lr-hiz0。
技能介绍
解决什么问题
在二进制漏洞利用中,堆溢出常比栈溢出更接近真实服务场景,但 glibc 堆内部结构、tcache 机制、unsorted bin / fastbin 等约束经常导致技术点误用。尤其 glibc 2.32+ 引入 safe-linking / PROTECT_PTR 后,传统 fastbin 写入方式不再直接可用,版本差异判断错误会直接影响后续泄漏和写原语选择。
技能如何工作
该技能把 heap exploitation 整理成可按 glibc 版本选择的路由手册,而不是零散技术点。核心能力包括:
- ptmalloc2 内部机制:理解 arena、chunk、top chunk、bin 结构与请求分配路径,便于判断 overflow 后哪些元数据可被改写。
- tcache 机制:覆盖
tcache的 key/value、校验行为与相关攻击模式,避免忽略低层缓存带来的限制。 - libc / heap 泄漏:从 heap metadata、bin pointer、
IO_FILE等路径推导可泄漏地址,再为 ASLR/RELRO bypass 提供输入。 - 版本路由:根据 glibc 版本选择
House of Force、House of Orange、House of Spirit、tcache attack 等 technique,并提示 safe-linking 对写入原语的影响。
使用时通常先确认二进制保护、堆布局与溢出可控字段,再定位可写元数据,选择泄漏路径,最后把任意写转化为可控执行流。资料中还指向 stack-overflow-and-rop、format-string-exploitation、arbitrary-write-to-rce、binary-protection-bypass 等相关路由,以及 HOUSE_OF_TECHNIQUES.md 和 IO_FILE_EXPLOITATION.md 等进阶参考。
适用边界
它主要服务于 glibc 环境下的堆漏洞分析,不覆盖非 glibc allocator、Windows heap 或 JS runtime heap。对真实目标,需要结合源码、保护机制、权限上下文与运行环境验证;文中提到的 technique 可能依赖特定 glibc 版本或 libc 结构。安全研究应在授权范围内进行,避免将攻击 playbook 用于未授权系统。
使用场景
- 分析 CTF 二进制题时,根据 glibc 版本选择 tcache 或 fastbin 攻击路径
- 审计 Linux 服务漏洞时,确认 safe-linking 是否限制 fastbin 写原语
- 调试 heap overflow 利用链时,定位可泄漏 libc 地址的 bin 元数据字段
- 评审 exploit 代码时,核对目标 glibc 版本与 House of Orange 适用条件
适合人员
- 二进制安全研究员:需要把堆溢出从元数据破坏映射到可控写原语
- CTF 选手:要按 glibc 版本快速选择 House 技术或 tcache 攻击
- 红队工程师:评审 exploit 是否兼容目标 safe-linking 与 ASLR 条件
- 安全审计顾问:向客户解释 heap overflow 利用依赖的具体 libc 结构