首先,在这里感谢"黑客"们,动网发展的过程中确实抹不去他们的身影。这里之所以打上引号,并没有贬低的意思,而是指那些真正精通代码的,凭自己精深的技术发现和利用程序漏洞的人,他们一般并不做什么破坏,只是在研究中找到乐趣。我个人认为正是他们的存在促进了技术的快速发展。而对于普遍存在的"工具使用者"一族,他们大多数除了做些捣乱、破坏并自封为黑客等另人厌恶的事情外,似乎一无所长。
言归正传,最近一些黑客研究动网论坛代码发现通过某种欺骗方式可以绕过程序上传任意文件,再利用上传的恶意代码几乎可以做到他想做的一切事情。这个漏洞影响的动网论坛版本是7.0sp2以前的所有版本,同时理论上也影响任意使用了类似程序开发的所有站点。针对此漏洞,动网强烈建议您马上升级到最新版本,相关地址如下:
http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=704362&page=1
如果你不幸已经中标,我根据经验提供一些针对动网论坛的简单的查杀恶意代码(木马)的方法,查杀的效果和你付出的细心程度是成正比的,准备好你的耐心,跟我一步步走。
俗话说知己知彼,百站百胜。要想查木马,首先要了解自己的网站结构,其次要了解木马大概的组成。一个好的网站结构能快速的确定非法的文件,一个糟糕的结构会让你自己都头晕,简单来说就是文件分类归放,及时删除过期的和测试的文件,这个话题不是我们今天的重点,有兴趣的朋友请自行查找。木马的构成就复杂多变了,一般会根据功能的不同而以各种形式出现,小一点的用几十个字符就可以搞定。要查木马不需要很多工具,一个Ftp软件加上Windows自带的搜索功能,再有个文本编辑器如Windows带的记事本就齐备了。Ftp软件建议用FlashFXP,在查木马方面他有些功能比较实用。
2004-5-26 21:10:36,小黑告诉我他的论坛首页被人改了,我马上登陆他的网站,发现论坛首页文件被改,找他要来Ftp帐号密码,登陆Ftp仔细查看。他的空间只放了一个动网论坛,根据页面被改的情况分析应该是被人上传了木马程序修改,于是我打开FlashFxp,选择工具,选择在FTP服务器上查找文件,图1。
一般木马应该是asp文件,我在名称那里输入*.asp,点立即查找,图2。
耐心等待了一会,结果出来了,我点了一下"于文件夹"让查找的文件以文件夹方式排列。由于采用的是动网论坛,网站结构比较清晰,除了根目录和INC目录外,其它目录不应该存在任何asp文件,现在在UploadFace目录下存在一个可疑文件haha.asp,我又点了一下"修改时间"以最后修改时间排列,发现这个文件是最新修改过的,确实非常可疑,为了不错删,于是我选中它,在选查看,用查看源代码的方式确定它确实是个木马程序,既然确定了就不要犹豫,删!图3。
想到IIS还映射了其它类型的文件被asp.dll解释,我就如图2般又搜索了*.cer,*.cdx,*.asa,*.htr,这些文件找到一个就删一个,因为程序根本用不着他们。
嘿嘿,没想到没用2分钟就解决了问题,我正在得意,突然想到如果黑客修改了正常的文件增加了恶意代码怎么办?文件内容用Ftp可没办法查,只能全部下回来了查了,upload那几个目录有好几百M,我就不下了,只要确保里边没有asp等可执行文件就行,数据库也不用下了,其它文件都通通下回来。图4。
小黑在催我了,他想论坛尽快开通,他用的是官方原版程序,我就先删除老程序,图5,
然后下载最新的动网论坛7.0sp2,还是将根目录和刚才删除的那些目录的文件上传上去,不上传数据库,很快就传完恢复了论坛,再三叮嘱他不要安装插件或其它程序后,我专心研究下载回来的文件去了。
打开Windows的搜索功能,要搜索的文件名写*.asp,想到很多木马都有这行代码"LANGUAGE = VBScript.Encode",而动网论坛是不用这行代码的,于是我输入"VBScript.Encode"来查找所有含有"VBScript.Encode"的asp文件,嘿嘿,果然找到几个,图6。
当然,也不是所有木马都一定要用这行代码,继续搜关键词来判断是否木马。列出一些关键词供参考。
我提供的关键词不一定是最全的,希望有经验的朋友继续提供,我会随时更新关键词列表。
关键词 | 可能性 | 解决方法 | 动网包含此 关键词的文件 |
VBScript.Encode | 100% | 删除 | 无 |
海洋 | 100% | 删除 | 无 |
稻香 | 100% | 删除 | 无 |
冰点 | 100% | 删除 | 无 |
0D43FE01-F093-11CF-8940-00A0C9054228 | 100% | 删除 | 无 |
093FF999-1EA0-4079-9525-9614C3504B74 | 100% | 删除 | 无 |
72C24DD5-D70A-438B-8A42-98424B88AFB8 | 100% | 删除 | 无 |
CreateTextFile | 100% | 删除 | 无 |
eval(r | 100% | 删除 | 无 |
Execute request | 100% | 删除或替换 | 无 一般是在正常文件中加入如 execute request("x") 来执行非正常代码 建议替换 |
Execute session | 100% | 删除或替换 | 无,同上 |
OpenTextFile | 100% | 删除 | 无 |
WriteLine | 100% | 删除 | 无 |
WSCRIPT | 100% | 删除 | 无 |
5xSoft | 100% | 删除 | 无 |
Scripting.Dictionary | 100% | 删除 | 无 |
Request.BinaryRead | 100% | 删除 | 无 |
DeleteFile | 90% | 删除或替换 | admin_bbsface.asp admin_data.asp admin_postings.asp admin_uploadlist.asp admin_upUserface.asp upfile.asp |
MoveFile | 90% | 删除或替换 | reg.asp |
Getfile | 90% | 删除或替换 | reg.asp showimg.asp viewfile.asp |
=VBS | 90% | 删除或替换 | Dv_ubbcode.asp |
如果您对服务器有操作权,建议您再做如下设置:
进入站点属性,选主目录,点配置,将不需要的脚本映射全部删除,一般只保留.asp就可以了,其它的全部可以删除,图7。
在iis中选取Uploadface,属性,将执行许可设置为无,还需要设置的还有uploadfile,previewimage这两个目录,如果你愿意的话,可以将除了Inc目录外的其它所有目录可执行权限都设置为无。
至此查木马的工作可以告一段落了,再来总结归纳一下方法
1、在网站结构清楚的情况下,浏览目录法能快速确定木马,在不该出现的地方出现的文件,管他是不是木马都可以删。
2、时间比较法,记住自己最后更新文件的时间,出现在该时间以后的可执行脚本一定有问题,但是注意,数据库的更新时间总是最新的,不要误删哦。
3、对比法,此方法上边没做详细说明,其实也就是本地保留一份完整备份,需要的时候使用Ftp工具的比较功能进行比对。
4、关键词搜索法,按照我提供的关键词搜索文件,基本可以确定木马。
说来说去,防更胜于杀,经常关注动网官方论坛 http://bbs.dvbbs.net ,及时打上最新补钉,尽量不安或少安插件,才是保证你的论坛正常运行的不二法则。
海口动网先锋网络科技有限公司
2004-5-26
网友sigporsson补充:有一点应该注意,如果确实发现木马了,处理完毕之后,应该将具有管理权限的各类帐号都进行修改。包括论坛的帐号、数据库帐号以及服务器操作系统帐号、FTP 帐号等~
网友netguest补充:如果你的论坛里,有类似代码:<iframe src="http://www.????.com" ></iframe> 估计可能是被加入的恶意连接,请在关键词中搜索iframe src
欢迎各位继续补充说明。
新闻热点
疑难解答