范义山
(襄阳职业技术学院信息技术中心,湖北 襄阳 441050)
【摘 要】网页木马对网站的安全构成严重威胁,然而网页木马又具有较高的隐蔽性。因此识别网页木马并了解其入侵方式,及时堵塞网站安全漏洞,是我们网站管理员必须要掌握的。详细介绍了网页木马的形式,入侵原理、经常利用的漏洞并给出了防范措施。
教育期刊网 http://www.jyqkw.com
关键词 网页木马;入侵;漏洞;防范
作者简介:范义山(1981—),男,襄阳职业技术学院信息技术中心教师,主要从事计算机网络与应用系统研究。
1 网页木马概述
网页木马是基于B/S结构的网页脚本,通常由asp、php、jsp、 javascript等脚本语言编写,以网页文件形式或伪装成图片等其他文件形式存在的一种命令执行环境,也可以称为一种网页后门。它和其它网页程序并没有本质区别,和其它网页程序的区别仅仅在于网页木马是入侵者上传到目标空间,并帮助入侵者控制目标空间的网页程序。
网页木马按文件大小和功能划分为“小马”和“大马”,小马的文件比较小,甚至只需要一句话,功能也比较简单,但是很关键,虽然只有很简单的一句或几句话,但是可以通过它把功能强大,体积较大的“大马”文件上传到服务器,从而控制网站,甚至控制服务器。如常用的asp小马只有<%execute request(“value”)%>、<%eval request(“value”)%>等一句话,其中value是值,入侵者自己定义。入侵者知道小马的URL和自己定义的value,就可以通过它把“大马”文件上传到服务器,进而控制网站或服务器。
网页木马隐蔽性非常好。它们或嵌套在正常网页中运行,或伪装成图片或压缩文件等,有的虽然是单独的一个网页脚本,但看起来和正常的网页程序没有区别,不容易被发现。网页木马入侵时和正常的网页一样是通过80端口传递数据,因此不会被防火墙拦截。同时,使用网页木马一般不会在系统日志中留下记录,只会在网站的web目志中留下一些数据提交记录,很难发现入侵痕迹。
2 网页木马入侵步骤
网页木马入侵的一般步骤为:
(1)扫目录。黑客入侵网站,一般第一件事就是扫目录,如果扫到网站有上传点,直接上传木马,很多asp网站的上传点很容易猜到。
(2)通过漏洞向网站写入“小马”。
(3)“小马”代码被网站执行。
(4)通过木马客户端连接“小马”。
(5)上传“大马”进一步控制网站。
(6)配合“大马”进行提权。
(7)完全控制服务器。
3 网页木马上传常用漏洞
3.1 上传漏洞
因过滤上传文件不严或其它漏洞,导致黑客可以直接上传Web Shell到网站可写目录中,从而拿到网站的管理员控制权限。譬如老版本的fckeditor编辑器的上传组件存在公开的漏洞,可以上传任意格式的文件,只要短短几分钟,一个小马就可以上传到服务器。
3.2 SQL注入漏洞
由于程序没有过滤用户的输入,攻击者通过向服务器提交恶意的SQL查询语句,应用程序接收后错误的将攻击者的输入作为原始SQL查询语句的一部分执行,导致改变了程序原始的SQL查询逻辑,额外的执行了攻击者构造的SQL查询语句。SQL注入漏洞可以用来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统最高权限。
3.3 添加上传文件类型漏洞
有些网站后台允许添加上传类型,由此很容易被黑客利用,譬如ewebeditor在线编辑器。eWebEditor提供了后台登录,如果没有更改其默认登录用户名及密码,那么就可通过扫描器扫描其登录后台,添加上传文件类型,利用其上传功能将包含一句话木马的文件或者ASP木马上传到网站,然后运行其进行入侵攻击。
3.4 后台数据库备份及恢复功能漏洞
主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改为asp,从而得到 Web Shell。
3.5 IIS解析漏洞
在网站下建立名字为 *.asp、*.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。例如创建目录vidun.asp,那么/vidun.asp/1.jpg将被当作asp文件来执行。
网站上传图片的时候,将网页木马文件的名字改成“*.asp;.jpg”,也同样会被IIS当作asp文件来解析并执行。例如上传一个图片文件,名字叫“vidun.asp;.jpg”的木马文件,该文件可以被当作asp文件解析并执行。
4 网页木马的防范
4.1 查找并堵塞网站漏洞
一切入侵活动皆依赖漏洞,如果网站不存在漏洞,那么就不会被写入木马。堵塞漏洞关键的是要知道黑客常用的入侵方式和经常利用的漏洞,笔者在前文已经做了介绍,网站管理者应针对这些漏洞进行测试,对于网站存在的漏洞,通过编程使其完善。
使用工具可以较快的发现网站的漏洞,然后进行修补。利用御剑后台扫描、wwwscan等网站漏洞扫描工具,可以检查网站是否存在上传点,后台目录是否独特,是否能被黑客发现;利用IBM Rational AppScan、啊D、明小子、网站安全狗等工具可以检查网站是否存在SQL注入点。
根据网站服务器上面查找到的木马和网站日志,反推木马上传方式,查找网站安全漏洞,并进行测试、修补和完善。
4.2 合理设置访问权限
网站的访问权限应该做严格的限制。不需要写操作的文件或文件夹设置为只读,需要写操作的文件或文件夹赋予读写权限,但不允许执行权限。
4.3 限制开放功能函数和组件
网站应该尽量少开放甚至不开放功能函数,如php的popen()、exec()、passthru()、system();而对于asp的网站,应限制Wscript.shell组件的使用。
4.4 过滤数据
网站系统对用户提交的所有数据应该进行某些特殊符号的转义,如单引号、反斜杠、尖括号等;对于网站留言和注册功能,应对用户提交的数据进行过滤,替换一些危险的代码。
4.5 提高安全意识
不使用默认的数据库路径和默认的管理员密码;设置尽量独特的后台目录结构;涉及用户名与口令的代码最好封装在服务器端;涉及到与数据库连接的用户名与口令给予最小的权限;需要经过验证的页面,跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面;检查html在线编辑器及其它具有上传功能的软件模块是否存在上传漏洞;为网站配置可靠的防注入程序,在数据库中限制字符的类型和长度。
4.6 数据库的安全设置
严格设置数据库的写入操作;隐藏网站的数据库,不让攻击者知道数据库文件的链接地址;在数据库连接文件中加入容错代码等,防止暴库;数据库进行防下载处理。
4.7 日常多维护
定期备份网站源码及数据库文件,当发现被入侵,及时修复网站源码内容。
定期全面检查网站文件,根据文件夹及其文件属性(名称、大小、文件类型、修改时间等)判断哪些文件及文件夹最近被修改过。通过比较修改时间来检查是否有非法用户上传文件。
启用并审核Web站点日志记录,查看是否有非法上传文件、SQL 注入等,及时发现和排除可疑文件。
使用D盾_web查杀软件,可以较快的在海量的源文件代码中查找隐藏在正常文件里的后门,极大的减少追查网页木马的工作量。
利用Macromedia Dreamweaver和操作系统自带的搜索功能,对木马的关键字搜索,比如<%eval request( )%>等,也可以发现部分网页木马。
教育期刊网 http://www.jyqkw.com
参考文献
[1]安晓瑞.ASP网站中asp一句话木马的安全性问题及防范措施的研究[J].首都师范大学学报:自然科学版,2014.
[2]罗泽林,陈思亮,张贵洲,谢乔,庄小妹.网页木马的攻击与防范[J].电脑知识与技术,2014.
[3]博客园 IIS解析漏洞[OL]. http://www.cnblogs.com/xiaoyuyu/archive/2013/02/01/2889535.html
[责任编辑:邓丽丽]