第一次ActiveX Fuzzing测试
接着上一篇的看雪Exploit me试题。
这道题给出了一个ActiveX的DLL,挖掘这个DLL中的漏洞。
由于从来没有接触过ActiveX的Fuzzing,所以找了一些文章来看。自己动手试验了一下。
根据提示,使用了Comraider来作为Fuzzing工具。这个工具比较老了,找了好久才找到下载地址
http://down.51cto.com/data/1100082
根据出题者的意图,应该是先对这个控件进行Fuzzing,然后根据结果进行分析得出漏洞。最后要这个漏洞写出poc,使用堆喷来完成。
实验环境是ie6+xp sp3

根据Fuzzing的结果可知,LoadPage存在漏洞,看了一下测试的payload,是这样的。

根据256个A,猜想是个栈溢出。
用od调试这个ActiveX控件,这里费了一些时间。因为从来没有调试过ActiveX控件,不知道怎么定位那些函数,因为那些并不是导出函数。后来发现,原来oleaut32.dll的
DispCallFunc函数会调用这个ActiveX中的函数,也就是只要断在DispCalFunc就可以了。
进入之后发现程序逻辑很复杂,有很多子函数调用,逆向分析一时找不到头绪。于是想到了用OD自动单步执行,来定位是执行到哪一条指令时导致的异常。结果如图

可以看到是4573F25处的retn指令导致的异常,此时栈中的返回地址已被覆盖,导致了retn到不可访问的地址,导致了异常。
用ida找到这一段程序后可以发现,这是一个strcmp的误用导致的问题。

rep movsd导致了漏洞的发生。
300个字节的数据刚好可以淹没返回地址。
第一次ActiveX Fuzzing测试的更多相关文章
- ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]
ActiveX 添加测试工程 1.新建工程MFC application, 2.添加完毕,在main Dialog中, 右键[Insert Activex Control],选择你的ActiveX控件 ...
- 第一次java程序测试感受
第一次JAVA程序设计测试,检验了一个暑假的成果.显而易见,我做的并不是很好,程序最起码的输入输出以及方法的定义还是没有问题的,但是考到了文件输入输出便看出来了.对于文件的输入输出,虽然我预习到那里, ...
- 关于文件格式Fuzzing测试与漏洞挖掘的学习
最近对于文件的漏洞挖掘比较感兴趣,所以在找资料来看.顺带记录笔记,把这些笔记贴在博客中分享一下.最近打算把精力放在mp3格式的漏洞发掘上,一来这是常见的文件格式格式也比较清晰.二来这也是学长推荐的入手 ...
- Jmeter+TCP\Scoket(8583)报文压力测试
Jmeter一般被用来测试HTTP协议,我第一次拿来测试socket协议,pos机传输报文为8583,协议属于socket,也是TCP协议的一种,网上有LR怎么测试8583报文,我就研究了一下怎么用J ...
- 【后台测试】手把手教你jmeter压测
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5611555.html 我知道我迟早是要踏上了后台测试之路 ...
- [产品相关] A/B测试终极指南(翻译)
转载地址: http://blog.sina.com.cn/s/blog_9149268d0100zrx7.html 还记得以前导师说看了英文的文章就把它翻译一下吧,这样会对文章更好地理解,也会有更深 ...
- VSTS负载测试——如何:使用 SQL 创建结果存储区
原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/06/01/1493939.html 原文参见:http://msdn.microsoft.c ...
- python高级编程之我不测试
# -*- coding: utf-8 -*-__author__ = 'Administrator'#测试驱动开发(高级编程处学习,第11章)#测试驱动开发也叫TDD, 是制造高质量软件的一种简单技 ...
- 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...
随机推荐
- boost::asio::deadline_timer(理解)
并发与并行: 并发和并行从宏观上来讲都是同时处理多路请求的概念.但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生. 1.Timer.1 - 使 ...
- csu1377Putter && HOJ12816
链接:(csu)http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1377 (HOJ)http://49.123.82.55/online/?actio ...
- R语言颜色综合运用与色彩方案共享
R语言颜色综合运用与色彩方案共享 小魔方 EasyCharts 2016-11-21 今天这篇主要讲解R语言颜色综合运用,主要跟大家介绍如何提取那些专业色彩包中的颜色搭配用于在基础绘图系统和高级绘图系 ...
- vue的全局指令
vue有四个全局指令:directive.extent.set.component directive:自定义指令 //写一个改变颜色的指令 Vue.directive('amie',function ...
- python 类与对象解析
类成员: # 字段 - 普通字段,保存在对象中,执行只能通过对象访问 - 静态字段,保存在类中, 执行 可以通过对象访问 也可以通过类访问 # ...
- Cookie 基本操作
Cookie 基本操作 对于 Cookie 得常用操作有,存取,读取,以及设置有效期:具体可以参照 JavaScript 操作 Cookie 一文:但,近期在前端编码方面,皆以Vue为冲锋利器,所以就 ...
- 在VMware安装Ubuntu后一直停留在VMware Easy Install
在VMware安装Ubuntu完成后,一直停留在VMware Easy Install,可以登录但是没有窗口界面,如图: 在此登录后依次运行以下命令: sudo mv /etc/issue.backu ...
- 一个highcharts混合图Demo
公司要我做一个highcharts的mockup,其实半个小时就能做完了,我做了将近两个小时,唉!不过还好,总算把东西学会了.勤能补拙! 把代码贴上来 布局很简单,一个div里套两个div,给好id, ...
- javascript 高度相关
//scrollTop; var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop); ...
- 简单几招,解决jQuery.getJSON的缓存问题
今天做测试工作,发现了一个令我费解的问题,jquery的getJson方法在firefox上运行可以得到返回的结果,但是在ie8上测试,竟发现没有发送请求,故不能取到任何返回的结果,经历了一翻周折,找 ...