最近正在学习模糊测试方面的知识,刚开始接触的便是ActiveX控件的Fuzzing。这里拿出来和大家分享下(不知道能不能混个红字),希望对于新手来说是个入门的途径文中有什么错误之处欢迎大家指出----顺便求TX的能给面试的机会,哈哈... 1、什么是ActiveX: ActiveX 控件是一种可重用的软件组件,通过使用 ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。 2、模糊测试: 模糊测试(Fuzzing),核心就这一句话:一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。一般是全自动或半自动化的。 其中所说到的目标系统代表的范围很大,可以是客户端软件,web控件,web应用程序、服务器,特殊文件格式解析程序(如PDF,DOC,M3U等等),还可以指网络协议、内存等等。 不同的目标系统对应的模糊测试方法学也不一样,大致的过程可以如下图所示: 简单的介绍就到这里,接下来针对一个有漏洞的链接库文件进行模糊测试,然后手动进行漏洞的可利用性确认,希望能对刚入门还不知道怎么做的新手有些帮助。 测试环境为:Windows XP sp3 + IE 6,模糊工具这里使用的是COMRaider,进行漏洞验证的工具OD足够了。 有漏洞链接库选择的是VULU.DLL。这个DLL功能很简单,将传入的字符串参数使用MessageBox显示出来,暂时没找见好的例子,就用这个吧.. 下面开始我们的模糊测试过程,按照前面说到的流程,我们一步步的进行漏洞挖掘。 打开COMRaider,选择COM组件的类型为ActiveX DLL 或者OCX文件,如图所示: 打开对话框中选中我们要分析的漏洞链接库文件,COMRaider会帮你分析该控件的注册ID,和所具有的接口函数和函数的参数: 从微软的命名规范可以大致看出接口函数的基本功能,选择一个接口函数进行漏洞分析,这个漏洞链接库的几个接口函数基本都是同样的功能,只不过传入的参数是不同的,我选择针对Method1函数进行分析,此函数接受的是字符串形式的参数,将传入的参数MessageBox出来。 点击Next产生测试数据: COMRaider的测试数据以wsf形式存储,软件会自动帮你生成vbscript语言的HTML测试页面(不过生成的测试用例没有注册控件的过程,在进行模糊测试之前要先将控件进行注册,不然测试过程会产生无法创建对象的错误),COMRaider会调用一个wscript.exe的解析程序来运行这个测试用例,然后来监测控件是否发生了异常。 下面的代码便是COMRaider自动生成的模糊测试数据:
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!