ciscn_2019_sw_7

堆溢出与整数溢出漏洞

  1. 一般再libc-2.27.so的库中,如果限制了大小,那么基本上只有两种方法,一种是orange,还有一种就是堆溢出,然后修改size大小为unsorted bin中的大小来leak libc。
  2. 由于本题有堆溢出,但限制了堆的大小,所以我们想泄露libc,只能使用后者(因为申请的chunk大小被限制了),而在有tache的情况下,要泄露,还必须填满相应的tache块,才能将chunk分配到unsorted bin中,所以我们得先攻击tache array
  3. 所以我们可以先利用堆溢出来修改其fd指针,在将其相应的tache数量输入满(要注意的是不能破坏所有的,不然在想溢出就会很麻烦,其次是tache array也会改变),这样我们就可以攻击tache array位置
  4. 接着修改chunk的size,并造成overlap,即可leak libc
  5. 接着用相同的方式leak free_hook即可

总结

太就没写题目了,先多看看wp,把套路搞熟悉了,在接着去复现比赛题(尝试的去复现比赛题,自闭后回来刷题,练基础)

参考

https://blog.csdn.net/seaaseesa/article/details/105867602

 

posted @ 2021-03-10 00:13  PYozo_free  阅读(136)  评论(0编辑  收藏  举报