- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ActiveX控件漏洞挖掘方法
ActiveX是微软公司提出,并在1996年被正式命名的组件技术。该技术提供了一种通用的开放程序接口,使用这种技术开发的ActiveX控件可以直接集成到IE浏览器或第三方应用程序中,但由于第三方编程等问题,控件的漏洞越来越多,很容易被攻击者利用进行破坏及窃取信息等活动,给个人和企业带来很大损失。本文结合H3C攻防研究团队在攻防研究过程中的经验和体会,阐述ActiveX控件漏洞产生的原理及漏洞挖掘方法。ActiveX 控件概念1. ActiveX产生ActiveX是以微软COM模型(Component Object Model)为理论基础建立起来的技术,通过建立带有接口的对象,ActiveX控件能被其他COM组件或者程序调用。ActiveX控件技术提供了一个集成平台,为开发人员、用户提供了一个快速简便的在 Internet或Intranet 程序集成的方法。传统的浏览器只能将HTML网页读出并显示,呈现给用户的是一个静止的、无变化的呆板网页。使用 ActiveX控件可以轻松方便的在 Web页中插入多媒体、交互式对象、各种文档格式以及复杂程序,使浏览器显示的网页变得“聪明活泼”,既能进行计算产生新信息,又使显示更具娱乐性。2. ActiveX 控件基本属性ActiveX控件由三大要素组成:属性、方法、事件。? ?属性:控件的基本特性,描述控件的信息。?? 方法:控件提供给外界的接口,ActiveX控件需要提供函数接口名称及参数,使用者可以通过这些来设置控件的某些性质、执行某项动作或者进行某些运算。? ?事件:控件对外部操作或内部处于某种状态时向控件所发出的操作指令,如用户鼠标点击、控件应答鼠标事件、显示特殊的多媒体文件等。3. ActiveX控件工作原理ActiveX控件要想正常使用,必须工作在一个名为Container(容器)的独立软件中。这种软件可以是应用软件,如迅雷、媒体播放器;也可以是浏览器,如IE;还可以是文字处理软件,如pdf、word等。ActiveX控件通过组件的方式进行工作,如果一个网页或程序中想增加一项特殊的功能,不需要重写整个程序,只要灵活地插入一个具有此项功能的ActiveX控件即可。要调用ActiveX控件,首先要创建控件实例对象,对控件进行实例化后,才可以设置和操作ActiveX控件的属性和方法。ActiveX控件能在ASP,JSP等页面中通过object标签创建,object标签包含类id(clsid)或名称id(progid),识别需要实例化的ActiveX控件。以IE浏览器为例,说明容器(这种情况下IE就是ActiveX控件的容器)如何调用ActiveX控件。当IE浏览器发出请求时,Web服务器向浏览器回传内嵌ActiveX控件的页面,由浏览器负责解释。在解释过程中浏览器首先用该控件在页面中注明的id值或名称在本地注册表内进行查询,若已经存在,则说明该控件已经在安装,然后通过注册表中的相关信息使用该控件;否则就要根据页面中提示的该控件所在服务器的地址,下载并完成在本地的安装注册,使该控件成为本地资源,供以后使用。ActiveX控件漏洞的产生目前ActiveX控件主要和IE浏览器配合使用,网站的开发者为了丰富网页的内容,使用自己或者第三方已经开发好的控件。由于控件提供方的开发水平和安全意识参差不齐,导致提供的ActiveX控件存在很大的安全隐患。使用ActiveX控件需要下载到本地进行安装并且提供对外调用的方法。所以对于每一个ActiveX控件,可能有如下几个方面的安全漏洞:??调用的控件可以创建、修改或者删除本地文件、修改注册表等信息;??调用的控件可以获取本地信息,如某文件信息、用户名、密码、IP地址等;??调用的控件可以通过欺骗行为使用户访问恶意网页、下载恶意程序等;??调用的控件存在缓冲区或者格式化字符串漏洞导致浏览器或者系统异常。ActiveX控件漏洞挖掘方法目前,对于ActiveX控件的漏洞挖掘,主要有两种方式:? 使用Fuzz测试工具:比较出名的有ComRaider、Axman等。由于ActiveX控件存在统一的编程接口,所以可以通过系统调用获取控件中的属性和方法,编写出自动化测试工具,根据控件的参数情况,自动填充异常数据,检验是否存在漏洞。这种方法重点测试ActiveX控件是否存在缓冲区溢出漏洞;??人工分析方法:通过控件解析器如ComRaider 、OLEView等,解析出控件的方法和属性,再根据每个方法的参数和返回值等,手工构造测试用例,依次对各个属性和方法进行异常测试,根据页面的返回情况,确定是否存在安全漏洞。这种方法重点测试ActiveX控件是否存在逻辑类漏洞。1. 使用Fuzz测试工具挖掘ActiveX控件漏洞Fuzz测试是一种软件测试技术,通常用来发现软件或者协议存在的安
文档评论(0)