其实apple系列都是对fp->_wide_data的利用,apple1可以任意地址写已知值,通过伪造_wide_data变量。另house of apple之前,常用的堆利用手法都有: +--+ house of pig、house of kiwi、house of emma 利用条件 从main返回或调用exit(其实就是利用fclose…
unlink主要利用从双向链表中取出chunk时的操作,通过伪造fd和bk指向伪造的位置,触发后达成利用的一种手法。 下面是双向链表中取chunk的操作过程 当然,那是没保护情况,现在早就上保护了 // 由于 P 已经在双向链表中(已经被free),所以有两个地方记录其大小,所以检查一下其大小是否一致(size检查) if (__builtin_e…