unsigned long long 溢出 乘_二进制安全之堆溢出(系列)—— unsorted bin attack

本文深入探讨了二进制安全中的堆溢出问题,特别是聚焦于unsorted bin attack。通过阐述攻击原理、展示实际效果,以及详细解析断链操作和攻击流程,文章揭示了这一技术的细节。附带的Demo和调试过程进一步帮助理解。
摘要由CSDN通过智能技术生成

db8a62da037c198925ddf8d6a13b6d01.png

本文是二进制安全之堆溢出系列的第十章节,主要介绍unsorted bin attack。

原理

  • 实现效果
只能在任意地址写入一个大数

通常在一个地址写入7f,然后配合fastbin attack使用,达到任意地址写的效果

断链操作

/* remove from unsorted list */
bck = victim->bk
unsorted_chunks (av)->bk = bck;   
bck->fd = unsorted_chunks (av); //此时fd中存放的是main_arena的地址
unsortedbin attack之后不能在遍历`unsorted bin链了,因为此时的main_arena的bk已经被我们改为target_addr,av->bk索引到的地址是一般是无法绕过check的。

因此需要提前malloc一个fastbin大小的堆块,在unsortedbin attack之前free掉它,在unsortedbin attack之后再malloc fastbin大小的堆块。

这时就能得到一个fd为main_arena地址的chunk

unsorted bin attack 流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值