欢迎来到 嗅灵易学

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

[原创]Pwnable.tw之BookWriter

[原创]Pwnable.tw之BookWriter

Pwnable.tw之BookWriter

知识点

    FSOPFILE Stream Oriented Programming的缩写, 进程内所有的_IO_FILE结构会使用_chain域相互连接成一个链表, 这个链表的头部由_IO_list_all维护.
    FSOP的核心思想就是劫持_IO_list_all的值来伪造链表和其中的_IO_FILE项, 但是单纯的伪造只是伪造了数据还需要某种方法进行触发.
     topchunk size小于申请大小, top chunk 加入unsorted bin中, 系统重新分配一块top chunk.
    首次加入unsorted binchunk块, 若再次使用此chunk, glibc会将其先加入对应small bin中, 再从small bin取出使用, 剩余的加入到unsorted bin中.
    unsorted_bin attack: 前提是控制Unsorted Bin chunkbk指针

程序运行

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

信息泄露

     通过观察发现authorhead_address相邻,输入0x40个字符即可将NULL填满, 使用Information打印Author,可打印出heap的地址, 即所谓信息泄露.

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

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

0 0 0 举报
复制成功