zoukankan      html  css  js  c++  java
  • 第一次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个字节的数据刚好可以淹没返回地址。

  • 相关阅读:
    Java学习笔记二.2
    Java学习笔记二.1
    Java学习笔记一
    cookie和session笔记
    编码知识笔记
    新手前端笔记之--css盒子
    新手前端笔记之--初识css
    新手前端笔记之--必备的标签
    新手前端笔记之--初识html标签
    二叉树总结
  • 原文地址:https://www.cnblogs.com/Ox9A82/p/5266255.html
Copyright © 2011-2022 走看看