新闻动态

News

详解Web安全与XSS攻击

当前,跨站脚本攻击XSS已经成为Web安全界的公害,对于企业用户而言,对于XSS的防御需要新的思路,并且要进一步提高认识。

什么是Web安全

随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害。

什么是XSS攻击

XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

XSS是新型的“缓冲区溢出攻击”

XSS攻击和前段时间甚嚣尘上的SQL注入攻击一样,都是由于Web业务的代码编写人员不严谨的字符限制而导致的。当某个站点允许用户提交Java Script脚本(这在Web 2.0年代非常普遍),而又没有对这些脚本进行严格分析,就有可能存在XSS漏洞。换句话说,决定了XSS漏洞的独特性,任何允许提交脚本的页面都可能存在XSS漏洞,而且这些漏洞可能各不相同。

防御XSS

目前业内对XSS漏洞的防御一般有两种方式。

第一种方式就是代码修改,对用户所有提交内容进行验证,包括URL、查询关键字、HTTP头、POST数据等。而且仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。

接下来就是实现Session标记、CAPTCHA系统或者HTTP引用头检查,以防功能被第三方网站所执行。最后一步就是确认接收的内容被妥善地规范化,仅包含最小的、安全的标记,去掉任何对远程内容的引用,使用HTTP的Cookie。

不过,这种方法将降低Web业务的交互能力,用户仅能提交少量指定的字符,不适应那些交互性要求较高的业务系统。而且Web业务的编码人员很少有受过正规的安全培训,即便是专业的安全公司,由于侧重点的不同,也很难完全避免XSS。2008年1月,xssed.com的一份报告指出:McAfee、 Symantec、VeriSign这三家安全公司的官方站点存在约30个XSS漏洞。

第二种方式就是部署专业的防御设备,目前较为流行的有入侵防御产品,利用的就是入侵防御产品对应用层攻击的检测防御能力。用户在选择相应的产品之前,最好先了解一下相关产品的XSS、SQL注入等Web威胁的检测方式。有一些入侵防御产品采用的还是传统的特征匹配方法,如对经典的XSS攻击—— IMG SRC="javascript:alert('XSS');"——来说,就是定义“Javascript”这个关键字进行检索,一旦发现提交信息中包含 “Javascript”,就认定为XSS攻击。

 

目前很多业务都依赖于互联网,例如说网上银行、网络购物、网游等,很多恶意攻击者出于不良的目的对Web 服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。所以无论是企业主还是消费者都应对web安全有足够的重视。

Copyright © 2002-2020 云尖(北京)软件有限公司 版权所有 | 法律声明 | 联系我们 | 京ICP备11034633号-3
 京公网安备 11010102005405号