RCTF pwn400 shaxian writeup

Categories CTF

三个漏洞:1.堆溢出 2.double free 3.任意内存读

fastbin的利用方法,可以参考kelwya的“CTF掘金”slide。

fastbin是一系列管理较小空闲堆块的FIFO单向链表结构。每一个链表中的堆块大小相同(必要条件,否则libc会报错),当free掉一个chunk时,其ptr to previous chunk处的值会被当做下一个chunk放到链表的顶端,下次malloc的时候就能获得这个chunk。

如果能修改某个chunk的ptr to previous chunk 到指向菜单的全局变量前,那么free掉这个chunk后再malloc就能获得一个指向这个全局变量的指针。结合程序语义信息,实际上就获得了任意写的机会。覆盖got中atoi到system。

参考:

http://bigtang.org/2015/11/17/RCTF-2015-Quals-pwn400/

http://bobao.360.cn/ctf/detail/155.html

No Comments

Leave a Reply