Agent Skills
返回列表
🔒

堆漏洞利用实战手册

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,将 @user_3c6cb52e/heap-exploitation-0zf3 安装到 AI 助手中。

技能介绍

在 pwn 挑战和真实漏洞挖掘中,glibc 堆漏洞的利用往往卡在版本差异和内存布局理解上。基础模型常混淆不同 glibc 版本的约束,甚至遗漏了 2.32 引入的 PROTECT_PTR(safe-linking)机制。本技能作为专家级攻击手册,旨在提供准确、可落地的堆利用策略,解决从内存泄露到最终代码执行的完整链路构建难题。

核心能力与工作流

本技能按技术博客的逻辑组织,核心覆盖 ptmalloc2 的内部结构与攻击决策树:

  • 内存结构与泄露:详细梳理 malloc_chunk 布局、tcache、fastbin、unsortedbin 和 smallbin 的指针结构。针对堆地址泄露,提供利用 tcache fd、fastbin fd 或 UAF 读取等具体方法。
  • 版本自适应攻击:根据目标环境的 glibc 版本动态选择策略。针对 < 2.26 提供 unsafe unlink;针对 2.27 - 2.31 推荐 tcache poisoning 或 House of 系列;针对 >= 2.32 详细解析 safe-linking 的解码与绕过;针对 >= 2.34(移除 hooks)则引导至 _IO_FILE 或 exit_funcs 等后继利用技术。
  • 漏洞模式匹配:覆盖 UAF、Double Free、Heap Overflow、Off-by-one、Off-by-null 和未初始化读取等常见模式,并给出对应的利用路径。
  • 高级参考库:内联 HOUSE_OF_TECHNIQUES.md 和 IO_FILE_EXPLOITATION.md,涵盖 House of Force/Spirit/Orange 等经典技巧及 _IO_FILE vtable 劫持(FSOP)。

适用边界与注意点

  • 本技能专注于 glibc ptmalloc2 分配器,不适用于其他堆实现(如 jemalloc、tcmalloc)或内核堆漏洞。
  • 利用 >= 2.32 版本的 safe-linking 时,必须先获取堆地址以解码 XOR 指针。
  • 对于 >= 2.34 版本,传统的 __malloc_hook 等覆盖手段已失效,需结合 arbitrary-write-to-rce 等技能寻找新的 RCE 链路。

使用场景

  • CTF比赛中遇到glibc堆漏洞,需根据目标glibc版本(如2.32以上)选择绕过safe-linking的利用链,完成任意地址读写
  • 分析真实软件中的堆溢出漏洞时,需利用tcache结构泄露堆地址并构造chunk overlap,进而覆盖关键函数指针
  • 针对glibc 2.34以上版本(移除hooks)的堆漏洞,需转向_IO_FILE vtable劫持或exit_funcs覆盖等后继利用技术
  • 审计开源代码时,需识别UAF、Double Free等堆漏洞模式,并根据触发条件设计对应的泄露与利用步骤

适合人员

  • CTF选手:参加pwn方向比赛时,需快速根据glibc版本适配堆利用技巧,完成内存泄露到代码执行的完整链路
  • 安全研究员:分析真实漏洞时,需精准匹配UAF、堆溢出等模式,并利用tcache/safe-linking等机制验证漏洞危害性
  • 系统开发工程师:排查服务端堆漏洞时,需理解ptmalloc2内部结构,定位漏洞成因并设计缓解措施
  • AI助手开发者:优化模型的漏洞利用能力时,需补充glibc版本差异和高级利用技巧,减少基础模型的认知偏差