[原创]Pwnable.tw之BookWriter
Pwnable.tw之BookWriter
知识点
FSOP是FILE Stream Oriented Programming的缩写, 进程内所有的_IO_FILE结构会使用_chain域相互连接成一个链表, 这个链表的头部由_IO_list_all维护.
FSOP的核心思想就是劫持_IO_list_all的值来伪造链表和其中的_IO_FILE项, 但是单纯的伪造只是伪造了数据还需要某种方法进行触发.
topchunk size小于申请大小,top chunk加入unsorted bin中, 系统重新分配一块top chunk.
首次加入unsorted bin的chunk块, 若再次使用此chunk,glibc会将其先加入对应small bin中, 再从small bin取出使用, 剩余的加入到unsorted bin中.
unsorted_bin attack: 前提是控制Unsorted Bin chunk的bk指针
程序运行
0. Welcome
Welcome to the BookWriter ! Author :Bill
1. Menu
1. Add a page 2. View a page 3. Edit a page 4. Information 5. Exit
2. Add
Your choice :1 Size of page :32 Content :AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Done !
3. View
Your choice :2 Index of page :0 Page #0 Content : AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
4. Edit
Your choice :3 Index of page :0 Content:CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCa Done !
5. Information
Your choice :4 Author : Bill Page : 1 Do you want to change the author ? (yes:1 / no:0) n
程序分析
author: 0x602060 heap_address: 0x6020a0 number: 0x602040 size: 0x6020E0
信息泄露
通过观察发现
author和head_address相邻,输入0x40个字符即可将NULL填满, 使用Information打印Author,可打印出heap的地址, 即所谓信息泄露.
注意:上传附件及图片大小不得大于30M。
⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。
复制成功
