largebin attack
本文总结一下 largebin 相关的攻击利用方式。
本文总结一下 largebin 相关的攻击利用方式。
本文总结一下 unsortedbin 相关的利用方式,包括泄漏 libc 地址、UAF 任意地址写的利用示例。
PWN 类型的题基本上都需要用到 libc 的地址,一般情况可以通过获取程序 GOT 表填充的 libc API 地址通过相对偏移计算出 libc 基址。但是也有时候没办法直接读 GOT,这时候如果可以实现任意位置写,那通过覆盖 _IO_2_1_stdout
的方式就可以泄漏 libc 地址。
操作上比较简单,直接把 _IO_2_1_stdout
结构开头的 flag
置为 0x00000000fbad1800
,并将 _IO_write_base
低字节位改小,然后等着程序调用 puts
、 printf
函数即可将 libc 地址泄漏到标准输出里。
ret2csu 是啥,好像也没啥,学习 ret2csu 用意不用力。
简单了解下常见的 ELF 防护机制必不可少的。
使用 glibc-all-in-one 结合 patchelf 或 LD_PRELOAD
环境变量实现 glibc 多版本快速切换。
这篇文章从 GLIBC 源码分析一下 Linux 内存的分配和释放,掌握相关的数据结构及内存管理方式是堆利用的基础。