acgdir.com
首页 > 动漫/二次元 > 动漫/二次元/资讯

萌新带你开车上p站(番外篇)(6)

2022-11-12 来源:acgdir.com
值得注意的是,本题的unlink利用是比较古老的方式了,现在的glibc已经加入了很多新的保护措施
包括:
Double Free检测
该机制不允许释放一个已经处于free状态的chunk。因此,当攻击者将second chunk的size设置为-4的时候,就意味着该size的PREV_INUSE位为0,也就是说second chunk之前的first chunk(我们需要free的chunk)已经处于free状态,那么这时候再free(first)的话,就会报出double free错误。相关代码如下:
#!c

萌新带你开车上p站(番外篇)


next size非法检测
该机制检测next size是否在8到当前arena的整个系统内存大小之间。因此当检测到next size为-4的时候,就会报出invalid next size错误。相关代码如下:

萌新带你开车上p站(番外篇)


双链表冲突检测
该机制会在执行unlink操作的时候检测链表中前一个chunk的fd与后一个chunk的bk是否都指向当前需要unlink的chunk。这样攻击者就无法替换second chunk的fd与fd了。相关代码如下:

萌新带你开车上p站(番外篇)


猜你喜欢