网站挂马背景
通过对近期教育网内检测到的623个被挂马网站所使用的Web服务程序类型以及编写网页所使用的脚本语言类型进行的统计分析:
图 脚本语言及服务程序类型分布统计
从图中可以看出,被挂马网站使用最为广泛的是IIS服务,其次是Apche服务。容易被挂马的多数是ASP编写的网页,而直接使用HTML的静态页面则相对安全。是什么导致了IIS+ASP的服务组合容易被挂马?这需要从造成网站被挂马的原因说起。
网站挂马的产生原因
1. 网站服务器的系统或应用程序存在安全漏洞导致网页被挂马
所有的系统和应用软件都可能存在漏洞,各厂商会针对自己的产品定期发布安全公告和补丁程序,如果管理员疏于管理,不及时的安装补丁,就可能导致漏洞被攻击者利用从而篡改网页进行挂马。Windows系统和Linux系统一样都会存在漏洞,但是由于Windows系统的普及率及版本的通用性使得攻击者更热衷于去开发Windows底下的攻击程序,这就导致运行在Windows下的IIS+ASP的搭配更易受到攻击。
当然这并不表示Linux系统就不会被攻击(数据显示Apache+PHP一样也会被挂马),只是相对于Windows来说它被攻击的几率会小一些。另外除了操作系统外,所有向外提供网络服务的程序(如IIS、Apache、SQLserver、MySQL等)都需要打补丁。
2. 网页代码编写有问题导致网页被挂马
网页代码编写的问题主要体现在两个方面,一是有数据库操作的代码对用户提交的参数没有严格进行限制,导致用户可以利用特定的输入参数对数据库进行读写操作,从而得以向数据中插入挂马链接,这也就是我们常说的SQL注入攻击(这类攻击是目前造成网页挂马的首要原因)。
代码编写存在的另一种问题是网站页面代码本身实现了上传附件的功能,但是在实现过程中对用户所上传附件的文件类型限制不严,导致攻击者可以上传木马文件控制服务器进而对网页进行挂马(常见于开源的论坛搭建代码)。
3. 服务器感染病毒导致网页被挂马
一些病毒感染系统后会在系统上所有的网页文件中加入挂马链接,如果感染病毒的是Web服务器或者是用于网页开发的系统,那么网站的网页中就可能被插入挂马链接。还有一些病毒则会通过ARP欺骗来劫持整个局域网内80端口的链接,并修改网络数据包,插入挂马链接。
如果Web服务器所在的局域网内有其他机器感染这类病毒就可能导致外部用户访问到的页面存在挂马链接。由于Linux系统的下的病毒数量远少于Windows,这也是造成IIS+ASP比其他搭配更容易遭受挂马攻击的原因之一。
网站挂马的原因不仅仅局限于以上几种,本文只是为大家介绍了几种常见的。
【编辑推荐】