浅谈应对网站篡改技术手段
2016-02-06◆刘翔
◆刘 翔
(湖北省公众气象服务中心 湖北 430074)
浅谈应对网站篡改技术手段
◆刘 翔
(湖北省公众气象服务中心 湖北 430074)
网站是一个单位的门脸,网站防篡改是一个单位网络安全的重点,本文站在一个网站开发和管理的角度,分析网站篡改的主要攻击手段,用经验和实例来说明应对网站的技术手段。
网站;黑客攻击手段;防篡改技术;网站代码
0 引言
对于一个单位的网站管理者,虽然要面对层出不穷的应用安全事件,但笔者认为首当其冲是要防网站被篡改。根据国家互联网应急中心(CNCERT)《中国互联网网络安全报告(年报)》中监测数据,2014年我国境内近3.7万个网站被黑客篡改,2015年有近2.5万个网站被篡改,其中被篡改政府网站2014年有1763个,2015年有篡改898个。虽然随着国家对网络安全法制化进程不断加快和政府部门的防范意识不断提高,政府网站被攻击现象呈现下降趋势,但由于国内外形势依旧复杂,非法团体和敌对势力无时不想利用手段摸黑政府形象,总体上网站安全风险依然形势严峻。从网页篡改的方式来看,我国被植入暗链的网站占全部被篡改网站的比例高达83%,在被篡改的政府网站中,超过85%的网页篡改方式是植入暗链。植入暗链已成为黑客地下产业链牟利方式之一,2015年CNCERT处理参与网页篡改攻击的博彩、私服等非法网站链接6320个,通知5609个被植入暗链网站用户单位对网站进行修复。
1 涉及篡改的主要攻击手段
1.1 SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据。其分为字符型注入和数字型的注入,由于编程语言不同,所存在的注入类型也不同。危害有:非法查询其他数据库资源,如管理员帐号;执行系统命令;获取服务器root权限。
1.2 跨站脚本攻击
通常简写为XSS,是指攻者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。其危害有盗取用户cookie;XSS蠕虫;挂马,结合XSS蠕虫,危害巨大。
1.3 利用操作系统和网站服务程序自身漏洞攻击
服务器操作系统和网站服务程序随着时间推移,总是会被发现存在很多漏洞,2016年4月中国互联网被Apache Struts2(官方编号S2-032/CVE编号CVE-2016-3081)漏洞血洗,一个月内被植入后门的网站达六千多家,其开启动态方法调用(DMI)的情况下,可以被远程执行任意命令。这些正是黑客利用工具扫描出网站服务器如IIS和Apache等服务软件的帮助信息等默认配置文件及其版本信息,开发出漏洞利用POC,发布在互联网上,吸引了更多的互联网攻击和扫描尝试。此外,网页中包含了提交时的内部网络IP等敏感信息;服务器的默认端口和服务,如windows的默认ipc$共享等这些很容易忽视的信息泄露点。
2 应用代码处理手段
2.1 应用代码安全才是真正的Web安全
关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据,应用代码安全才是真正的Web安全。外部数据(outside data)包括不是由程序员在网站代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。在开发应用程序时,严格检查用户输入,注意一些特殊字符:“’”“;”“[”“--””||”等。
例如,在网站每个应用代码中可加一些用户提交POST过滤:
2.2 转义用户输入内容
转义最重要的是防止XSS攻击和SQL注入。对于需要插入的不可信内容必须先进行转义(尤其对特殊字符、语法符合必须转义或重新编码)。
例如:用户提交到网站一段信息,该信息中夹带了这么一段