-
-
[原创]2017_0ctf_babyheap
-
发表于: 2020-6-7 15:16 7850
-
小菜鸡做的第一道堆题
保护全开,有这么些功能
申请、填充、释放、查看、退出
在填充(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编辑
,原因: 排版
赞赏
他的文章
- 对某款智能手表的分析与攻击 6432
- [原创][车联网安全]使用STM32开发板实战汽车UDS诊断 15013
- [分享]binwalk路径穿越导致RCE(CVE-2022-4510) 9980
- [原创]Hack-A-Sat 2020预选赛 beckley 13583
- [原创]一个BLE智能手环的分析 31542
看原图
赞赏
雪币:
留言: