1.2 脚本漏洞的根源
各种Web应用程序之所以会出现各种各样的攻击漏洞,原因是多方面的。造成Web脚本漏洞出现的原因,既可能是由于程序语言的先天不足,也有可能是由于程序设计者的安全意识或程序逻辑缺失,还有可能是因为Web程序使用者的设置不当。
1.2.1 功能与安全难以兼顾
功能越强大,随之带来的安全问题可能越严重——无论是对Web语言或Web应用程序,都同样存在着这个问题。
最基础的HTML语言,功能已经远远不能满足各种交互式网页程序的需要,因此ASP、ASPX、JSP、PHP等各种功能强大的网页语言纷纷出现。交互式的网页程序功能越来越强大,但同时安全漏洞也越来越多。
作为网页程序设计者来说,往往需要面对一个问题,究竟是选择强大的功能,还是选择安全重要性?
1.2.2 安全意识的缺乏
对Web脚本攻击认识不足,缺乏相应的安全意识,这也是造成各种Web脚本攻击技术不断出现的原因之一。
在许多网页程序设计者眼中,网页程序设计更多的是美工创意,以及相关功能代码的实现,而程序的安全性问题往往被忽视。在传统的网页程序设计学习系统中,程序的安全性根本是被忽略的,更多的网页设计教学,关注的是各种漂亮的外观和华丽炫目的功能。由于这两个原因,造成许多网页程序设计者的安全意识严重不足。
也有一些网页程序设计者,看到了网站程序安全性的重要性,但是由于相应安全知识的不完善,因此编写出来的程序,也难免出现各种各样的漏洞问题。
另外,还有一个很重要的问题,就是网页程序的代码开源所带来的安全问题。一方面,由于代码开源,许多网页程序设计者会在已有的程序基础上进行二次开发,或者在自己的程序中借用某个程序的部分功能。而被借用的程序本身是有安全漏洞问题的,结果这些二次开发或功能组合而成的程序又继承了源程序的漏洞,导致了网页程序漏洞的广泛存在。另一方面,网页程序代码被公开后,给攻击者带来了方便。恶意的攻击者也会有针对性地去阅读程序的代码,从中找出程序的漏洞。
谈到安全意识的缺乏,不仅是网页程序设计者的问题,还包括网页程序应用者及服务商等。许多网页程序应用者在使用程序时,由于设置不周全或其他原因,可能造成应用中的漏洞。而许多网站服务商,本身服务器的设置问题,又有可能引发网页程序的漏洞被利用攻击。
Web网页脚本安全问题,应该是一个多方面的问题,因此,无论是网页程序设计者,或者是网站管理员、程序使用者,都应该深入地学习了解各种Web网页脚本攻击技术及其原理,并学会相应的防范方案,提高自己的安全意识与技术水平。