前言
我看了一些网上对于这些技术的解释,但是发现他们大多比较绕,对于理解其中心思想造成了难度,所以
我在这里把他们记录下来,把这些技术的中心思想记下来,作为自己的pwn工具箱,在以后解决pwn问题的
时候能够随时拿出来发挥作用。
我在这里关注的目标是其利用的思想,和其他的一些post不同,利用条件等等这些我个人认为不是能够直
接被总结的,pwn本身的方法多种多样,十分灵活,如果用一些“第一个chunk”,“第二个chunk”之类的说
法试图去总结一种利用技巧的利用条件反而让人抓不住重心。 想要知道利用条件?抓住思想然后自己分
析就可以轻易得出来他的利用条件了。有时候看起来不符合其他post的“利用条件”,但是根据自己的分析,
可能也是可以利用这些技巧的。
house of lore
基本信息
- 利用种类: 堆溢出
- 堆利用种类: 针对smallbin的利用
- 利用思想: 利用smallbin为双向链表,每次malloc取了链表最后一个元素,可以通过更改链表指针,使
其分配一个刻意构造的地址
利用难点
- 需要一个堆溢出或其他方法能够更改到small bin的free chunk的fd和bk指针
- 由于glibc增加的security check,会检查small bin分配的时候,unlink链表中的元素时,bck元素的
fd是不是指向当前位置,所以只有构造好了将要malloc出来的位置的chunk才能够成功分配。