堆溢出与整数溢出漏洞
- 一般再libc-2.27.so的库中,如果限制了大小,那么基本上只有两种方法,一种是orange,还有一种就是堆溢出,然后修改size大小为unsorted bin中的大小来leak libc。
- 由于本题有堆溢出,但限制了堆的大小,所以我们想泄露libc,只能使用后者(因为申请的chunk大小被限制了),而在有tache的情况下,要泄露,还必须填满相应的tache块,才能将chunk分配到unsorted bin中,所以我们得先攻击tache array
- 所以我们可以先利用堆溢出来修改其fd指针,在将其相应的tache数量输入满(要注意的是不能破坏所有的,不然在想溢出就会很麻烦,其次是tache array也会改变),这样我们就可以攻击tache array位置
- 接着修改chunk的size,并造成overlap,即可leak libc
- 接着用相同的方式leak free_hook即可
总结
太就没写题目了,先多看看wp,把套路搞熟悉了,在接着去复现比赛题(尝试的去复现比赛题,自闭后回来刷题,练基础)