getfromcode后端开发 会员免费

二进制安全系列

这套二进制安全系列面向的是已经写过 C/C++、能在 Linux 或 Windows 上跑起调试器的开发者。它不铺垫语法,直接从内存分配器的实现切入,讲堆、讲栈、讲控制流劫持的构造方式。如果你之前只停留在「知道有栈溢出这回事」,但没亲手绕过保护、没在调试器里跟踪过 chunk 的拆分与合并,这套内容

单课价¥29.90新品 上架
会员价 会员免费开通会员,全站课程按额度无限下载套餐详情
8 人关注 更新于 2026-09-20 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买方式开通会员 · 全站免费下单课购买 · 仅本课

支付成功后自动显示网盘下载链接;链接失效可联系客服免费补链,永久有效。

正版保障 极速发货 售后无忧

这套二进制安全系列面向的是已经写过 C/C++、能在 Linux 或 Windows 上跑起调试器的开发者。它不铺垫语法,直接从内存分配器的实现切入,讲堆、讲栈、讲控制流劫持的构造方式。如果你之前只停留在「知道有栈溢出这回事」,但没亲手绕过保护、没在调试器里跟踪过 chunk 的拆分与合并,这套内容适合拿来对照实践。

技术栈与运行环境

内容横跨 Linux 和 Windows 两个平台,工具链也是分开的。Linux 侧以 glibc 的 ptmalloc 为主线,涉及 GDB 配合 pwndbg/peda 的调试方式,ROP 部分会用到 ROPgadget、ropper 一类 gadget 检索工具,以及 pwntools 编写利用脚本。Windows 侧聚焦用户态堆管理,涉及 LFH(低碎片堆)的分配策略与近代堆的利用基础,调试环境通常是 WinDbg 配合页堆(Page Heap)来观察分配行为。

这种双平台结构意味着两套 API 和两套调试习惯。好处是对比性强——同样一个「溢出后控制执行流」的目标,在 Linux 上靠 ROP 串 gadget,在 Windows 上还要考虑堆元数据的编码与校验差异。建议按平台分两条线学,不要交叉着看,否则容易把两边的结构体字段记混。

内容组织与推进逻辑

从目录顺序能看出推进方式:先铺垫内存管理,再进入利用技术。Linux 堆内存管理是基础篇,讲 chunk 结构、bins 的分类(fastbin、smallbin、unsortedbin 等)、分配与释放时的链表操作。这部分是后面所有堆利用的前提——不理解 free 时 chunk 怎么进 bin、malloc 时怎么被取出,就看不懂 UAF 和 double free 能做什么。

Windows 部分单列了 LFH 特别篇,说明编者认为这块值得单独讲透。LFH 是 Windows 在频繁分配小对象时启用的前端堆,它的分配随机化和元数据布局直接影响可用性,是进阶内容里的关键一环,放在堆利用基础之前或之后学都行,但要单独留时间。

ROP 部分目前能看到的是 Linux 环境下的上半部分,围绕 return-oriented programming 的构造展开。这块和栈溢出的关系最紧:栈溢出给了你覆盖返回地址的能力,ROP 决定了在 NX 开启、栈不可执行时你还能做什么。两者应当连着看。

可复用的模块与练习方式

这类内容真正的价值不在于「看完」,而在于能不能自己复现。几个可以固化成模板的东西:

  • 调试脚本:把常用的断点、内存查看、chunk 遍历命令写成 GDB 脚本或 pwndbg 自定义命令,每次分析新样本直接加载,省去重复输入。
  • 利用脚本骨架:pwntools 的remote/process切换、flat()组装 payload、泄漏地址与重定向执行流的流程,可以抽成模板,换目标只改偏移和 gadget。
  • 结构体速查:把 glibc 的malloc_chunk、Windows 的_HEAP_ENTRY等关键字段整理成一页笔记,配合调试器里的实际内存对照,比反复翻源码快。
  • 环境快照:不同 glibc 版本的安全检查(如 tcache 的引入、safe-linking)不一样,把练习用的发行版版本号固定下来,避免「本地能打通、换台机器就失败」。

练习建议自己写靶程序,而不是只跑现成的题目。写一个带可控输入、编译时关掉部分保护的小程序,然后逐个开启 NX、ASLR、Canary、Full RELRO,观察利用方式如何被迫改变。这个过程比看视频更能建立对保护机制的条件反射。

自学路径建议

如果基础不牢,先补三样:x86-64 汇编与调用约定、C 语言的内存布局(栈帧、全局区、堆)、以及 Linux 下的 ELF 加载与动态链接基本概念。这三块缺失会直接卡在 ROP 和堆利用的入口。

然后按「栈溢出 → ROP → 堆基础 → 堆利用 → LFH/Windows 堆」的顺序推进。每学一个技术点,配一个自己编译的靶子,用调试器单步跟到关键结构体的变化。整套资料更偏向原理与手法的对照参考,适合边看边在本地环境里改参数、换版本复现,而不是一次性刷完。真正吃透的标志是:给你一个没有源码的二进制,你能用工具定位可疑分配点,并判断它可能对应哪类利用手法。

二进制安全系列

深入浅出二进制安全技术

编辑点评

系统讲解二进制安全,涵盖堆内存管理、ROP利用、栈溢出等多种技术,适合进阶学习者。

⭐ 编辑推荐

本系列课程深入浅出地讲解了二进制安全领域的核心知识,包括Linux和Windows系统的堆内存管理、ROP技术、栈溢出等,适合有志于深入了解二进制安全的开发者。

✨ 课程亮点

✦系统讲解二进制安全
✦涵盖多种技术点
✦适合进阶学习者

课程目录

0x12 浅析Linux堆内存管理1 集
  • 浅析Linux堆内存管理.mp4 [194.2 MB]
0x11 【特别篇】深入理解LFH1 集
  • 【特别篇】深入理解LFH.mp4 [230.6 MB]
0x10 近代Windows用户堆的利用基础1 集
  • 近代Windows用户堆的利用基础.mp4 [210.3 MB]
0x09 Linux环境下的ROP(上)1 集
  • Linux环境下的ROP(上).mp4 [144.6 MB]
0x07 一次失败的栈溢出(SEH)之GetGo Download Manager1 集
  • 一次失败的栈溢出(SEH)之GetGo Download Manager.mp4 [75.9 MB]
0x06 另辟蹊径之覆盖SEH1 集
  • 另辟蹊径之覆盖SEH.mp4 [118.1 MB]
0x04 经典栈溢出实例之DNSTracer1 集
  • 经典栈溢出实例之DNSTracer.mp4 [181.3 MB]
0x03 经典栈溢出实例之EasyRM2MP31 集
  • 经典栈溢出实例之EasyRM2MP3.mp4 [190.3 MB]
0x02 经典栈溢出(下)1 集
  • 经典栈溢出(下).mp4 [123.8 MB]
0x0F 【特别篇】Windows上古-近代堆详述1 集
  • 【特别篇】Windows上古-近代堆详述.mp4 [210.6 MB]
0x0E 探索上古Windows用户堆1 集
  • 探索上古Windows用户堆.mp4 [191.8 MB]
0x0D Windows环境下的ROP(下)1 集
  • Windows环境下的ROP(下).mp4 [151.4 MB]
0x0C Windows环境下的ROP(上)1 集
  • Windows环境下的ROP(上).mp4 [169.4 MB]
0x0B Linux下ROP练习之r0pbaby[CTF-2015-defcon]1 集
  • Linux下ROP练习之r0pbaby[CTF-2015-defcon].mp4 [109.2 MB]
0x0A Linux环境下的ROP(下)1 集
  • Linux环境下的ROP(下).mp4 [144.0 MB]
0x01 经典栈溢出(上)1 集
  • 经典栈溢出(上).mp4 [158.3 MB]
slides9 条
  • 经典栈溢出.pptx [1.6 MB]
  • 探索Stack Cookie.pptx [996.2 KB]
  • Linux环境下的ROP.pptx [2.8 MB]
  • 另辟蹊径之覆盖SEH.pptx [1.0 MB]
  • 探索上古Windows用户堆.pptx [997.8 KB]
  • 浅析Linux堆内存管理.pptx [1.6 MB]
  • 近代Windows用户堆的利用基础.pptx [1.0 MB]
  • DEP & ASLR简述.pptx [1.8 MB]
  • Windows环境下的ROP.pptx [1.1 MB]
Binary_Hacking_Course7 条
  • First steps into networking with net0 from exploit.education protostar - bin 0x19-2CL-AAcgyuo.webm [42.2 MB]
  • Rooting a CTF server to get all the flags with Dirty COW - CVE-2016-5195-Lj2YRCXCBv8.webm [23.3 MB]
  • Buffer overflow on a modern system impossible stack0 - part 1 - bin 0x21-4HxUmbOcN6Y.webm [51.3 MB]
  • Identifying another exploit mitigation and find bypass. stack0 - part 2 - bin 0x22-MMm0I2Dj51A.webm [39.0 MB]
  • format2 on a modern Ubuntu - bin 0x26-Kc6_PpdbcCw.webm [37.6 MB]
  • [Live] Remote oldschool dlmalloc Heap exploit - bin 0x1F-2GVi8_9u5TY.webm [1.3 GB]
  • heap0 exploit speedrun & weird ASCII string on the Heap - bin 0x28-fJMnH0kCAak.webm [52.0 MB]

适合人群

  • 网络安全工程师
  • 二进制安全爱好者
  • 系统程序员

🎯 学习收获

  • 掌握二进制安全基础
  • 精通堆内存管理技术
  • 学会ROP利用技巧

🎉 祝您学习愉快!