首页
论坛
课程
招聘
[原创]CVE-2012-0158分析
2016-2-4 15:03 5021

[原创]CVE-2012-0158分析

2016-2-4 15:03
5021
参考大家对CVE-2012-0158分析,自己跟着走了一遍,记录了详细的操作过程,希望对各位有所帮助,具体参考附件。sample.doc为POC,poc运行后word文档中的值会被修改,运行前先备份,运行完后删除run过的word文档,恢复备份文件。

安卓应用层抓包通杀脚本发布!《高研班》2021年3月班开始招生!

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (11)
雪    币: 325
活跃值: 活跃值 (29)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
地狱怪客 活跃值 2 2016-2-4 19:50
2
0
谢谢分享。
雪    币: 874
活跃值: 活跃值 (29)
能力值: ( LV13,RANK:600 )
在线值:
发帖
回帖
粉丝
dirge 活跃值 14 2016-2-5 01:17
3
0
感谢分享~
雪    币: 315
活跃值: 活跃值 (22)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
stalker 活跃值 8 2016-2-5 09:14
4
0
这段shellcode最近还很流行啊:)
雪    币: 168
活跃值: 活跃值 (153)
能力值: ( LV12,RANK:530 )
在线值:
发帖
回帖
粉丝
Netfairy 活跃值 11 2016-2-7 13:00
5
0
感谢分享
雪    币: 0
活跃值: 活跃值 (159)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
lihaiyanz 活跃值 2016-2-10 20:37
6
0
谢谢分享
雪    币: 1211
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lcbrain 活跃值 2016-2-11 23:51
7
0
现在好像有CVE-2012-1856 听说这个比0158强大
雪    币: 1650
活跃值: 活跃值 (82)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
天易love 活跃值 18 2016-2-14 23:15
8
0
这个问题的本质就在于sub_B中新建堆的数据是可控的,sub_A函数中的dwBytes也是可控的。
int __stdcall sub_A(int a1, BSTR bstrString)
{
.......
  int v5;                 //  [bp-14h]
  SIZE_T dwBytes; //[bp-Ch]
  int v7;                  // [bp-8h]
  int v8;                  // [bp-4h]

  v2 = bstrString;
  result = sub_B((int)&v5, bstrString, 0xCu);   (1)
  if ( result >= 0 )
  {
    if ( v5 == 1784835907 && dwBytes >= 8 )
    {
      v4 = sub_B((int)&v7, v2, dwBytes);   (2)
     ....
    }
  }
}
执行(1)复制12个字节,这样可以控制dwBytes, 执行(2)就可以把堆中指定大小的shellcode复制到堆栈.
雪    币: 779
活跃值: 活跃值 (87)
能力值: ( LV12,RANK:280 )
在线值:
发帖
回帖
粉丝
Ox9A82 活跃值 3 2016-8-11 00:12
9
0
对栈没有必要下写入断点,那样会不断的中断。其实下一个记录断点就可以了
雪    币: 654
活跃值: 活跃值 (333)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nohackxu 活跃值 2016-8-20 18:29
10
0
谢谢分享,资源拿走!
雪    币: 67
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
范小贩 活跃值 2016-12-6 16:31
11
0
请教一下,sxn ‐c "r eip;dd 00121700 l1" sse ,这个指令里面的值是怎么来的?调试的时候不断的断下,F5了几百次了,依然还无法载入poc
雪    币: 3
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YP星星 活跃值 2017-2-10 16:20
12
0
在分析这个漏洞时有一个疑问,
为什么要申请堆空间,从样本拷贝数据到堆,然后再从堆中将数据拷贝到栈中进行溢出?直接从样本拷贝数据到栈上进行溢出不行吗
游客
登录 | 注册 方可回帖
返回