欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创] 2016 HITCON CTF SleepyHolder

[原创] 2016 HITCON CTF SleepyHolder

2016 HITCON CTF SleepyHolder

序言

本来这周准备学习House Of Orange, 但是这个牵扯知识点太多. 忽然发现还有一个fastbin_dup_consolidate没有学习, 补一下.

程序运行(文章尾部有程序源码)

1. MENU

1. Keep secret

2. Wipe secret

3. Renew secret

2. Keep secret(New)

1. Small secret

2. Big secret

3. Keep a huge secret and lock it forever

1

Tell me your secret:

hello, world

#另外两个选项类似, 只是分配的堆空间大小不同

3.Wipe secret(Delete)

Which Secret do you want to wipe?

1. Small secret

2. Big secret

1

4. Renew secret(Update)

Which Secret do you want to renew?

1. Small secret

2. Big secret

1

Tell me your secret:

AAAA

程序分析

1. Keep Secret(New)

可以选择申请40, 4000, 40000三种不同大小的堆块. 当申请大小超过top chunk size, ptmalloc会整合一些fastbin中的free chunk并入top chunk, 如果还不够就mmap一块新的chunk,这个chunk与原有的top chunk之间采用单链表链接.

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功