一、导语
网站一直是黑客最喜欢入侵的目标,能产生不错的收益,入侵方法也不复杂。大量入侵工具的出现,让小学生也能轻松入侵网站。
而几乎所有企业网站都存在安全漏洞。因为都是外包给建站公司开发,建站公司只注重功能和时间,不会在安全方面多加考虑。
下面我们讲述一下网站安全中的常见漏洞和应对方法,当然最好的解决办法还是修复程序。
二、SQL注入
SQL注入是利用程序不严谨,传递一些特殊SQL命令,读取或篡改数据库。通过此种手段,黑客可以取得网站后台权限,再实施新的入侵。
下面我们演示如何不用账户密码登录后台。判断账户密码是否正确的SQL语句一般如下写:
user=request("user")
password=request("password")
sql="select * from [admin] where user='" & user & "' and password='" & password & "'"
如果在用户名和密码输入框都填写:x' or 'a'='a
此时SQL语句就变成了:select * from [admin] where user='x' or 'a'='a' and password='x' or 'a'='a'
这样就可以成功登录网站后台,无需正确的用户名和密码,是不是很简单?
防御方法其实也很简单。
1、增加SQL过滤模块
从程序自身改进,对传递过来的每一个参数都做过滤,过滤掉一些危险字符,如:' " ( ) * [ ] = > < % 空格
再使用以上方法注入时,SQL语句就变成了::select * from [admin] where user='xoraa' and password='xoraa'
程序就能正确判断用户名和密码是否正确,成功防止SQL注入。
2、使用第三方安全系统
从程序自身改进是最好的办法,但相当的麻烦,也容易疏忽遗漏,给黑客留下机会。最好能再部署第三方安全系统,进行多重防护。
三、上传漏洞
利用网站在线上传漏洞,上传网页木马,对网站进行挂马、挂黑链、篡改、生成非法内容等破坏,或者进一步入侵服务器。
这种一般是在线上传程序没有判断权限,以及没有对上传的文件存储时的后缀名和路径做严格限制。有以下几种解决办法:
1、修复程序
如果您的网站不是必须使用在线上传,建议直接删除相关程序,彻底杜绝在线上传漏洞。
如果需要使用在线上传,务必增加权限判断功能,只有授权的用户才能上传。存储图片时,强制指定存储路径,并限制文件后缀名只能为特定的(如图片后缀gif、png、jpg)。
2、查杀网页木马
在线上传之所以可怕是因为黑客可能上传网页木马,如果能及时查杀网页木马,也就没什么大问题了。
3、安全策略
从网站结构入手,不同目录赋予不同的访问权限和脚本权限。
如整个网站只给读权限,需要存储上传文件的目录才给写权限,再到IIS设置这个目录没有脚本权限,让黑客即使上传了木马,也无法运行起来。
四、跨站入侵
黑客先入侵服务器上的其中一个网站,以此为跳板,再入侵该服务器上的其他网站。一般是站点安全结构不合理导致。
要解决此问题,只需要让每个站点独立帐户运行,再设置网站目录只有自身匿名账户的访问权限,让网站相互完全隔离。
五、Cookies欺骗
很多程序员喜欢用Cookies保持用户状态,黑客可以利用相关工具篡改Cookies内容,提升自己为管理员权限。
要解决此问题,只有从程序上入手,可以使用Session存储用户身份,防止黑客篡改。
六、暴力破解
又称穷举法,指黑客通过软件,依靠密码字典,不断向网站登录程序处发送字典中的数据;如果管理员的密码比较简单,黑客就可能通过此种方式获取管理员密码,达到入侵的目的。
解决办法只有修改程序,在登录模块做限制,如果连续登录错误超过几次,则屏蔽该IP一段时间,达到防护的目的。