首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
Pwn
发新帖
2
1
[讨论]我在本地调试堆溢出题目时候第一个chunk地址的起始地址低字节都是从0x290开始的而不是从正常的0x000,这导致我无法本地调试堆溢出double free操作
发表于: 2021-4-17 08:46
7161
[讨论]我在本地调试堆溢出题目时候第一个chunk地址的起始地址低字节都是从0x290开始的而不是从正常的0x000,这导致我无法本地调试堆溢出double free操作
mb_ynstcvcb
2021-4-17 08:46
7161
问题:如题目,详细情况见下图
望经历过这种情况的大佬不吝赐教,为什么会出现这种情况,如何解决?
谢谢。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
2
免费
・
1
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
Roland_
为你点赞~
2021-4-29 14:19
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
5
)
mb_ynstcvcb
雪 币:
1
能力值:
( LV1,RANK:0 )
在线值:
发帖
1
回帖
3
粉丝
0
关注
私信
mb_ynstcvcb
2
楼
我补充一下,因为起始地址地地址从0x290开始,无法通过上面代码中第48步溢出去下盖下一chunk的fd指针地址去伪造fake chunk了
2021-4-19 10:14
0
盛夏的第五章
雪 币:
449
活跃值:
(262)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
8
粉丝
0
关注
私信
盛夏的第五章
3
楼
这种情况我碰到过,有许多原因,比如glibc2.26版本后的Tcache机制,会在堆上分配一大块内存,比如输入输出也会在堆上开辟内存。你这种2.23版本的很大可能是输入输出函数分配的内存,特别是scanf函数。有方法可以确定是什么原因开辟的内存,在main函数打断点,然后运行程序,检查堆是不是还没有分配,然后在_int_malloc函数打断点,继续运行程序,然后查看调用栈就知道是谁分配的内存了。
2021-4-19 17:36
0
wjhwjhn
雪 币:
6737
活跃值:
(3490)
能力值:
( LV3,RANK:31 )
在线值:
发帖
0
回帖
3
粉丝
0
关注
私信
wjhwjhn
4
楼
0x291 基本上可以确定是tcache,换一个低版本的系统(16.04)或者libc(2.23)即可
2021-4-19 20:07
0
mb_ynstcvcb
雪 币:
1
能力值:
( LV1,RANK:0 )
在线值:
发帖
1
回帖
3
粉丝
0
关注
私信
mb_ynstcvcb
5
楼
感谢您的回答
2021-4-24 20:55
0
Roland_
雪 币:
4168
活跃值:
(15932)
能力值:
( LV9,RANK:710 )
在线值:
发帖
40
回帖
102
粉丝
320
关注
私信
Roland_
12
6
楼
堆上前0x290是tcache pthread的位置,储存的是tcache中chunk的信息。
2021-4-29 14:19
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
mb_ynstcvcb
1
发帖
3
回帖
0
RANK
关注
私信
他的文章
[讨论]我在本地调试堆溢出题目时候第一个chunk地址的起始地址低字节都是从0x290开始的而不是从正常的0x000,这导致我无法本地调试堆溢出double free操作
7162
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部