BUUCTF hitcontraining_uaf

这是我第一次自己做出来的堆题,,🐔动

在这里插入图片描述
没什么特别,,看一看代码

在这里插入图片描述
在这里插入图片描述

还是一个堆块管理系统,不过这次他管理的时候有些不一样
在这里插入图片描述
1.add
不一样就在这里,,如果要创建一个用户数据,,先malloc一个八字节的指针堆块(我这么叫。。里面放着指针),,这八字节,前四个字节是一个pirnt_note_content函数,,这个函数的作用是以他后面相邻四个字节的数据为指针,打印这个指针里面的内容;;;申请到的8字节后四个字节才是我们申请到的数据块的指针,这个堆块大小由我们的输入而定。
还有,这个程序同样维护着一个堆块指针表,,这个堆块指针表里面存的是指针堆块的指针。。(~rap)
最后只允许申请5次,有计数。。
在这里插入图片描述
刚申请了一个用户数据,堆块指针表是这样的,,一个指针4字节
在这里插入图片描述
申请一个数据要用两个堆块
在这里插入图片描述
第一行是第一个堆块,就是我说的指针堆块,,可以看到后八字节里面,,前4是0x80485fb
在这里插入图片描述 是这个函数的地址
后四字节是个指针,指向下一个堆块的用户数据。。

在这里插入图片描述
2.delete
可以看到有UAF漏洞,但是却不好利用
释放的时候先释放了用户可写的那块堆块,,然后释放了指针堆块,,所以一次delete释放了两个堆块

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值