• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >业界动态 > CVE公共漏洞和暴露分析报告2012-0774

CVE公共漏洞和暴露分析报告2012-0774

作者:佚名 字体:[增加 减小] 来源:互联网

佚名 向大家分享了CVE公共漏洞和暴露分析报告2012-0774,其中包含cve漏洞,cve中文漏洞信息库,cve漏洞库,cve漏洞2016-8735,cve 2017-0199漏洞等知识点,遇到此问题的同学们可以参考下
一.漏洞描述
Adobe Reader在阅读PDF文件时使用一些公共格式载入字体说明,比如TrueTypeFont (TTF).<TTF是Apple公司和Microsoft公司共同推出的字体文件格式>
TTF中有几个片段负责格式化存储字体字形的描述,其中一个片段是字节码语言,它由TTF渲染器中的一个解释器执行。这个解释器是一个基于堆栈的虚拟机,因此它使用的大部分指令都以某种方式修改指令。MINDEX指令可以从栈中弹出一个值,并利用这个值作为一个索引进入栈区。该索引上的值被移到栈顶,栈中原有的值依次向下移动以填补移动索引值产生的空间。
MINDEX 指令的伪码:
     index = stack.pop()
     new_top = stack[index]
     for (i = 1; i<= index; i++)
     stack[i] = stack[i - 1]
     stack[0] = new_top
由于所有的栈操作都以4byte为单位,故而该索引值为了找到用于移动的位偏移值,会在Adobe Reader的解释器里进行乘以4的运算。但却没有对这个乘法运算进行整数溢出的检测。这个“索引”的原始值作为一个数字元素复制到一个循环中,如果这个“索引”足够大的(在进行乘4运算时能溢出一个小数值的)数值时,会导致缓冲区溢出。
1.补充
在解析文件时,首先查看“PDF key /FontFile2”可能会获得TTF数据。
    找到TTF数据段后,需要对其进行解析,并检查“glyf”表,每个字形条目都可以包含0个或多个TTF字节码格式的指令,需要对他们进行解码和模拟,一次来发现MINDEX指令。
    找到MINDEX指令后,需要检查位于栈顶的值(将被用做索引),如果这个值位于下列范围:0x40000001 <= index <= 0x7fffffff ,那么这个PDF文件应标记为恶意的PDF文件。
二、   调试环境与工具
环境:Windows XP3 +    AdobeReader9.4.0.195
工具:OllbDBG + IDA Pro + 010 Editer
三、   调试记录
载入POC后程序出现内存访问异常:
080079CE  MOV DWORD PTR DS:[ECX],EBX   ;ECX=0823F000,EBX=0
 
 




ALT+M查看内存窗口,发现程序尝试是向CoolType.dll的.rscr段写入数据,而.rscr段内存一般都只读的,在执行MOV DWORD PTR DS:[ECX],EBX发生了内存访问异常。
 
按MAPP的描述,发生异常的位置在MINDEX 指令处,载入IDA看看这段代码:
回头再看看图1中的EDX,EDX是一个很大的值,而字节码解释器的堆栈位于CoolType.dll的.dada内存中。MINDEX 指令处在取栈最上面的索引值后,跟据索引值计算出偏移量去取值后,堆中的元素向下移动去填补取出值的位置(堆的增长方向是向高地址与windows程序中的堆栈不同),即高地址的4个字节复制到相邻的低地址的4个字节,如果这个栈中的索引没有验证大小,MINDEX 指令在移动数据直到索引值为0才停下,如果在移动过程中覆盖到重要的数据,此漏洞可变为可利用的漏洞。
 
.text:0800798B MINDEX          proc near               ; CODE XREF: sub_800690E+49p
.text:0800798B                                         ; sub_806C605+48p
.text:0800798B                                         ; DATA XREF: .data:0821BF68o
.text:0800798B
.text:0800798B arg_0           = dwordptr  4
.text:0800798B
.text:0800798B                 moveax, StackTop
.text:08007990                 movecx, Var
.text:08007996                 push    ebx
.text:08007997                 push    esi
.text:08007998                 movesi, [ecx]      ; stack.base
.text:0800799A                 lea     edx, [eax-4]
.text:0800799D                 cmpedx, esi        ; 弹出一个值后的堆栈地址是否大于或栈基
.text:0800799F                 push    edi
.text:080079A0                 jb      short FailRet
.text:080079A0
.text:080079A2                 movedi, [ecx+154h] ; Stack.Limit?
.text:080079A8                 cmpedx, edi        ; 栈顶是否大于stack.limit
.text:080079AA                 jnb     short FailRet
.text:080079AA
.text:080079AC                 add     eax, 0FFFFFFFCh ; -4
.text:080079AF                 movedx, [eax]      ; 取索引
.text:080079B1                 movebx, edx
.text:080079B3                 shlebx, 2          ; 计算出偏移量,偏移量=索引*4
.text:080079B6                 movecx, eax
.text:080079B8                 sub     ecx, ebx         ;ebx=偏移量
.text:080079BA                 cmpecx, esi
.text:080079BC                 jb      short FailRet
.text:080079BC
.text:080079BE                 cmpecx, edi
.text:080079C0                 jnb     short FailRet
.text:080079C0
.text:080079C2                 test    edx, edx
.text:080079C4                 movedi, [ecx]      ; 保存取出的值。
.text:080079C6                 jle     short loc_80079D7
.text:080079C6
.text:080079C8
.text:080079C8 Moving:                                 ; CODE XREF: MINDEX+47j
.text:080079C8   &nbs

您可能想查找下面的文章:

  • CVE公共漏洞和暴露分析报告2012-0774

相关文章

  • 微软发布Fix it工具修复IE7/8/9漏洞 ie用户请尽快修复(0day漏洞)
  • 《2017美国网络犯罪现状报告》:企业今年面临哪些安全问题,应该如何解决?
  • 中文版putty后门事件分析
  • 支付宝花呗套现隐患多多 骗子已经形成产业链
  • 苹果Touch ID的安全”保险箱“再次被攻破,密钥安全该怎么做
  • 世界顶尖的[白帽子] 全球TOP7 漏洞猎人
  • 微软紧急安全公告 当心SQL攻击爆发
  • CVE公共漏洞和暴露分析报告2012-0774
  • 谍影重重:中国DDoS产业现状大揭秘
  • 对于www.pei.net.ph仿冒入侵菲律宾网站的整体性分析

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 黑客利用网络色情广告散播木马年入百万
    • 微软发布Fix it工具修复IE7/8/9漏洞 ie用户请尽快修复(0day漏洞)
    • Google AdSense允许修改西联汇款拼音姓名
    • 苹果Touch ID的安全”保险箱“再次被攻破,密钥安全该怎么做
    • 中国移动WFIF疑遭破解 蹭WIFI网凸显管控难题
    • 互联网老兵谈中国黑客史:放弃理想而追逐短利
    • 安卓7.0解决部分勒索软件问题 安卓7.0包含正义代码
    • 黑客都是天才:网络中10种不同类型的黑客分析
    • Gartner 2017年WAF魔力象限报告:云WAF将替代物理设备成为主流
    • 传瑞星推 私有云 或再次震动杀毒行业

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有