专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

借助gdb调试glibc代码学习House of Orange

看雪学苑  · 公众号  · 互联网安全  · 2019-05-15 10:55

文章预览

准备工作 学习了CTF比赛中的一种堆利用方法— house of orange ,看了很多师傅们的博客和一些国外网站,现在总算理清了一些利用原理。 house of orange 攻击的主要思路是利用 unsorted bin attack 修改 _IO_list_all 指针,并伪造 _IO_FILE_plus 结构体及其 vtable (虚表)来劫持控制流。 为了更加深入地理解,很有必要 gdb 调试 glibc 中的 malloc.c 代码。以我的环境为例,在调试 glibc 代码前需要安装: 1、 1Ubuntu 16.04 x64 2、 gdb 。我个人使用 pwndbg ,您也可以使用其他,如 gdb-peda 。 3、源代码和调试符号。借助于调试符号,逆向工程师就能调试任何感兴趣的内容了。 在 gdb 提示符下输入以下内容: pwndbg> directory /usr/src/glibc/glibc-2.23/malloc/ pwndbg> b _int_malloc 上面的gdb命令会在您单步执行时显示被 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览