首页
社区
课程
招聘
[原创]Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告
发表于: 2017-11-28 16:38 7069

[原创]Adobe Reader 缓冲区溢出漏洞 (CVE-2010-2883)漏洞分析报告

2017-11-28 16:38
7069

软件名称:Adobe Reader

影响范围:7.0.0-9.3.4版本

影响平台:Windows

漏洞模块:CoolType.dll

威胁等级:高危

漏洞类型:缓冲区溢出

威胁路径:远程

机密性影响:完全的信息泄露导致所有系统文件暴露

完整性影响:系统完整性可被完全破坏

可用性影响:可能导致系统完全宕机

攻击复杂度:漏洞利用存在一定的访问条件

攻击向量:攻击者不需要获取内网访问权或本地访问权

身份认证:漏洞利用无需身份认证

Adobe Reader(也被称为Acrobat Reader)是美国Adobe公司开发的一款优秀的PDF文件阅读软件。文档的撰写者可以向任何人分发自己制作(通过Adobe Acrobat制作)的PDF文档而不用担心被恶意篡改。

Adobe Reader的CollType.dll中存在基于栈的缓冲区溢出漏洞,远程攻击者可借助带有TTF字体Smart INdependent Glyphlets (SING)表格中超长字段的PDF文件执行任意代码或者导致拒绝服务。

具体成因为Adobe Reader在调用strcat时,没有判断uniqueName字段的字符串长度,直接复制到固定大小的栈空间中,导致溢出。

使用IDA pro直接在CoolType.dll寻找SING表,即可直接观察其溢出漏洞的位置:



根据上图可以看出,在TableEntry结构入口处偏移0x11c,就是SING表的真实数据,其长度为0x1DDF。然后再偏移0x10就是uniqueName域了。

在执行strcat函数后,会将SING表的内容部分拷贝至ebp的地址,直到遇到NULL,在我调试时,该地址为0x0012e454,但是该地址并不固定。根据下图,可以看出在exp触发后ebp的地址内所存储的,正是SING表的真实数据。


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

收藏
免费 1
支持
分享
最新回复 (9)
雪    币: 2083
活跃值: (919)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
2
我最近也在分析这个漏洞,想问下,老哥你知道如何利用这个漏洞么?该从哪里入手=——=
2017-11-29 15:41
0
雪    币: 106
活跃值: (1993)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
vlinkstone 我最近也在分析这个漏洞,想问下,老哥你知道如何利用这个漏洞么?该从哪里入手=——=
文件格式,shellcode就放在SING表里,只要长度溢出就会把构造的数据压栈,但是要注意系统环境,如果是高版本windows,需要构造rop链绕过相关保护
2017-11-29 16:26
0
雪    币: 2083
活跃值: (919)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
通过pdf的文件结构去找SING  -->  uniqueName,然后用shellcode去覆盖?那我是随便找个pdf都可以咯?先在xp下试试
2017-11-29 16:30
0
雪    币: 6818
活跃值: (153)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不错!
2017-11-29 21:23
0
游客
登录 | 注册 方可回帖
返回
//