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应该是没问题的
结束!!!

浙公网安备 33010602011771号