首页
社区
课程
招聘
[原创]2017_0ctf_babyheap
发表于: 2020-6-7 15:16 7850

[原创]2017_0ctf_babyheap

2020-6-7 15:16
7850


小菜鸡做的第一道堆题

保护全开,有这么些功能


image.png


申请、填充、释放、查看、退出

在填充(fill)的时候,还要求输入你要填充多少个字节,但是可以输入比申请的大的数


大体思路:


首先泄漏 libc 的地址,当一个 chunk 加入到 unsorted bin 中时,chunk 的 fd 和 bk 指针会指向 main_arena。main_arena 是 libc 中的一个结构体。泄露这个地址就可以计算出真实的 libc 地址了

然后使用 fastbin_attack,分配到 malloc_hook 的区域,然后对这块内存区域修改为 one_gadget 的地址,修改 _malloc_hook 或 free_hook 等等为 one_gadget 地址,再次执行 malloc 的时候就会执行到 one_gadget


思路和解释都在 exp 的注释里面了:


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-6-7 15:19 被yichen115编辑 ,原因: 排版
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//