首页
社区
课程
招聘
[求助]如何判断Crash是否可以进一步利用
发表于: 2013-7-26 14:33 2990

[求助]如何判断Crash是否可以进一步利用

2013-7-26 14:33
2990
有个Crash,在Malloc时出现问题。
===========================================================
VERIFIER STOP 00000004: pid 0x844: extreme size request

        01D50000 : Heap handle
        8D069412 : Size requested
        00000000 :
        00000000 :
===========================================================
其中 Size可控。如何进一步分析是否可利用呢
# ChildEBP RetAddr  Args to Child              
00 0c2ff748 7c974a15 8d069412 01d50000 01d50000 ntdll!DbgBreakPoint
01 0c2ff760 7c989d4c 00000004 7c98a024 01d50000 ntdll!RtlApplicationVerifierStop+0x160
02 0c2ff7dc 7c98cee6 01d50000 01001002 8d069412 ntdll!RtlpDebugPageHeapAllocate+0x43
03 0c2ff860 7c969564 01d50000 01001002 8d069412 ntdll!RtlDebugAllocateHeap+0x2d
04 0c2ffa90 7c938f01 01d50000 01001002 8d069412 ntdll!RtlAllocateHeapSlowly+0x44
05 0c2ffcc4 78ab0269 01d50000 01001002 8d069412 ntdll!RtlAllocateHeap+0xe64
06 0c2ffce4 786ab327 8d069412 8d069412 0c2ffdc0 MSVCR100!malloc+0x4b
07 0c2ffcfc 092cda1c 8d069412 8d069412 0c2ffdc0 mfc100u!operator new+0x33
WARNING: Stack unwind information not available. Following frames may be wrong.

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
dbgBreakPoint 这是你自己用windbg断掉的吧?
对这个不熟
2013-7-26 17:27
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
這是Application Verifier丟得exception用windbg下kb的結果吧 @@
怪的是看起來像是拿kernel mode address去當size,真是...
這個點應該沒法用,可能需要找使用這個buffer卻又沒檢查大小的地方看看有沒有機會
2013-7-27 14:09
0
雪    币: 33
活跃值: (27)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
size是某文件中的一个偏移位置的值,不过好像真像你说的那样,应该是程序没有对这个size做检查就进行了new操作。我再去看下,估计不太可能利用了。撑死算个dos?不过没啥意义好像
2013-7-29 17:45
0
雪    币: 72
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
用户数据可控制new的size大小,如果size不够大是不是可以在向其中填入成员变量的时候溢出呢?
另,可结合其他漏洞攻击嘛,这个应该在布置堆空间的时候很有用,比如fengshui。
2013-7-30 09:38
0
雪    币: 192
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你找找是否存在有成员变量?
2013-8-1 13:46
0
游客
登录 | 注册 方可回帖
返回
//