house of force----gyctf_2020_force!!

做这道题前线学习一下house of force的用法

Linux下堆溢出利用2-House of force基本原理_haibiandaxia的博客-CSDN博客

 

老样子例行检查(这里我就不放了)

主函数:

 

 add函数

 

 

 可以看到size的大小完全由我们用户控制且我们可以输入0x50的数,当我们申请比0x50小的chunk的时候就可以造成溢出

puts函数一点用没有,所以这道题我们只利用add

思路如下:

首先我们先申请一个很大的chunk获取到libc的偏移

 

 通过这个chunk头的地址我们可以获得libc的偏移时0x200ff0

libc知道了就可以通过malloc_hook进行攻击了

完整exp如下

 

 

 注:offset的作用是为了申请到topchunk到malloc_hook的地址,便于下一次申请到malloc_hook的地址

为什么是-0x33,我们应该都知道malloc_hook-0x23的地址有一个7f,我们避免申请的chunk的fd和bk指针影响到他所以-0x33

realloc_hook是为了调节栈指针,便于one_gadget条件的达成,但关于使用的时机,目前还在学习当中

 

此题目没有正常获取到shell,但我觉得exp应该是没问题的

结束!!!

posted @ 2021-09-17 14:43  庄周恋蝶蝶恋花  阅读(90)  评论(0)    收藏  举报