前提介绍

  • house of orange该攻击手法是在没有free函数的情况下,来获得一个在unsorted bin中的堆块。
  • 漏洞成因的源码位置在malloc.carena.c中(glibc2.23)

漏洞成因

  • 用户申请的堆块大小大于了top chunk size的话,那么就会将原来的top chunk放入unsorted bin中,然后再映射或者扩展一个新的top chunk出来
  • 漏洞利用的前提就是要存在堆溢出,对top chunk的size进行修改
  • 然后申请一个大于top chunk的size

示例程序

house-of-orange利用