接着上一篇的看雪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个字节的数据刚好可以淹没返回地址。

转载于:https://www.cnblogs.com/Ox9A82/p/5266255.html

第一次ActiveX Fuzzing测试相关推荐

  1. 事件总线第一次点击_用户体验研究指南3-3第一次点击测试

    第三章:验证和测试的方法 3.第一次点击测试 首次点击=测试以观看用户首先点击的位置. 结束. 感谢阅读! 当然,只是开玩笑. 虽然这只是长短的问题,但还有很多要知道:就像为什么每个任务的第一次点击是 ...

  2. go每日新闻(2021-12-01)——Go 1.18新特性前瞻:原生支持Fuzzing测试

    每日一谚: Go's package system teach us to prioritize the consumer of our code. go中文网每日资讯–2021-12-01 一.Go ...

  3. Fuzzing测试你懂吗?

    Fuzzing测试对于很多同学都比较陌生,甚至一些做过多年测试的同学都没有听说过.作为以为专业的测试人员,一般是根据软件的功能逐步设计测试用例,先覆盖所有正常的功能,然后再设计一些非法的测试用例(俗称 ...

  4. 第一次运行TestNG测试类时报Cannot find class in classpath

    第一次运行TestNG测试类时报以下的错误,其实我在公司也遇到这个问题,但2次出问题的原因不一样,我记录一下吧 . org.testng.TestNGException: Cannot find cl ...

  5. 河南省周口市安吉软件测试培训中心第一次软件测试课程-测试理论篇

    练习使用禅道(下载32位开源版) 禅道:项目管理软件 测试人员一般用来跟踪缺陷的生命周期 常用的缺陷管理工具:禅道,jira. bugzilla.QC等 登录地址:ip地址/zentao(在cmd命令 ...

  6. 使用Afl-fuzz (American Fuzzy Lop) 进行fuzzing测试(二)——详细使用说明(README.txt)

    不完全译自:http://lcamtuf.coredump.cx/afl/README.txt 转载请注明出处. 随手翻译的笔记,还有待继续整理. AFL算法 1) 把用户提供的初始测试用例加载到队列 ...

  7. 河南省周口市安吉软件测试培训中心第一次软件测试课程——测试理论考试(含答案)

    1:画出V模型和W模型,并且描述出他们的优点与缺点?(4分) 2:什么是测试计划?测试计划包含哪些内容?(4分) 答案:测试计划是对即将进行的测试做一个规范性的指导文档,包含测试范围.方法.资源,以及 ...

  8. 2015.3.30第一次博客测试

    五十四签 下签 得宝醒来在梦中,自是南柯一场空. 若问婚姻并问病,别寻条路为相通. 解:物在水中,形影长短 日:皆有分定,不用商量

  9. 官方教程:Go fuzzing模糊测试

    前言 Go 1.18在go工具链里引入了fuzzing模糊测试,可以帮助我们发现Go代码里的漏洞或者可能导致程序崩溃的输入.Go官方团队也在官网发布了fuzzing入门教程,帮助大家快速上手. 本人对 ...

最新文章

  1. JavaScriptSerializer 序列化json 时间格式
  2. 原文翻译:深度学习测试题(L1 W3 测试题)
  3. 使用 Boost.MPI 的 reduce() 连接字符串的示例
  4. 推荐算法-关联分析(关联规则)
  5. 12家无人驾驶公司新进展:驾照怕白考了!
  6. 第二部分 自动内存管理机制
  7. linux手误rm可能不需要跑路
  8. [debug] 开源项目的本地使用:使用pip安装的函数库不能被anaconda和pycharm使用+visdom使用 +路径问题
  9. Scrapy实例__链家租房爬虫
  10. 无法修改IE浏览器主页解决方案(主页绑架)
  11. 【Flink】Flink中的窗口函数、时间语义及watermark
  12. Windows开机出现Scaning and repairing错误
  13. 抖音快手初学者如何快速成长
  14. 清华大学计算机吴教授,清华大学计算机系教授吴文虎到我校讲学
  15. 《科技创业启示录》一第1章 乔斯·怀特
  16. 大亚湾国土资源数据库异地容灾备份采购项目
  17. 详解坐标系及坐标变换--大地坐标系(一)
  18. 数据结构知识点全面总结—精华版
  19. python手机屏幕自动点击代码_鼠标隔段时间自动点击屏幕
  20. 未定义错误c语言中英文,C语言编程出错英汉提示对照表

热门文章

  1. C++之静态成员变量和静态成员函数
  2. 数据结构之顺序表(一)
  3. iperf测试网卡性能
  4. 《结对-贪吃蛇-需求分析》
  5. 山寨“饿了么”应用中添加菜品数量按钮效果
  6. ASP.NET C# 数字格式化输出
  7. Windows Phone 7 自适应键盘输入
  8. 《星辰傀儡线》人物续:“灭世者”、“疯狂者”、“叛逆者”三兄妹
  9. 一起谈.NET技术,WPF 基础到企业应用系列5——WPF千年轮回2
  10. 化工图纸中LISP_必备干货丨石油化工安装工程质量与成本控制研究