关注我们
QRcode 邮件联系 QRcode
主页 » 信息安全 » 正文

最后谈XSS的预防

 feng 2013/01/04 13:41  454 ℃  0条点评

         在前面的文章中,我们具体介绍了各种XSS攻击的原理和方式。可以看出,XSS是一种覆盖面很广,隐蔽性很高,危害也非常大的网络应用安全漏洞。除非网站服务器完全不存在XSS漏洞,否则就会给攻击者们留下空子。因此,如何在Web应用程序的开发过程中对XSS漏洞进行预防,是所有网站开发人员所必须注意的重中之重。下面我们介绍几种常用的XSS预防措施。

1. 输入检测

         对 用户的所有输入数据进行检测,比如过滤其中的“<”、“>”、“/”等可能导致脚本注入的特殊字符,或者过滤“script”、 “javascript”等脚本关键字,或者对输入数据的长度进行限制等等。同时,我们也要考虑用户可能绕开ASCII码,使用十六进行编码如 “<</span>”(“<”)、“>”(“>”)等来输入脚本。因此,对用户输入的十六进制编码,我们也要进行相 应的过滤。只要开发人员能够严格检测每一处交互点,保证对所有用户可能的输入都进行检测和XSS过滤,就能够有效地阻止XSS攻击。

2. 输出编码

         通 过前面对XSS攻击的分析,我们可以看到,之所以会产生XSS攻击,就是因为Web应用程序将用户的输入直接嵌入到某个页面当中,作为该页面的HTML代 码的一部分。因此,当Web应用程序将用户的输入数据输出到目标页面中时,只要用HtmlEncoder等工具先对这些数据进行编码,然后再输出到目标页 面中。这样,如果用户输入一些HTML的脚本,也会被当成普通的文字,而不会成为目标页面HTML代码的一部分得到执行。

3. Cookie防盗

         利 用XSS攻击,攻击者可以很方便地窃取到合法用户的Cookie信息。因此,对于网站来说,不能在Cookie信息中存放太多敏感信息,也不能将 Cookie作为身份认证的唯一标识,等等。因此,对于Cookie,我们可以采取以下的措施。首先,我们要尽可能地避免在Cookie中泄露隐私,如用 户名、密码等;其次,我们可以将Cookie信息用MD5等Hash算法进行多次散列后存放;再次,为了防止重放攻击,我们也可以将Cookie和IP进 行绑定,这样也可以阻止攻击者冒充正常用户的身份。

4. 严格限制URL访问

         攻 击者使用XSS攻击,通常都要借助于自己指定的网站页面,比如用它来记录敏感信息、在该页面上“挂马”等等。因此,在页面的脚本代码执行过程中,只要我们 严格限制其访问的URL,比如只允许脚本代码访问本网站的URL等方式,就可以避免脚本的执行链接到其它可能是攻击者指定的页面上。

5. 用户注意事项

         作 为一名普通的网络用户,在XSS攻击的预防上总体处在被动的地位。但是我们也可以通过采取一些措施来尽可能地避免受到XSS攻击。首先,我们不要轻易相信 电子邮件或者网页中的不明链接,这些链接很有可能引导反射型XSS攻击或者使我们访问到一些不安全的网页。其次,我们在不必要的时候可以禁用脚本功能,这 样XSS注入的脚本就无法得到运行。再次,我们也可以使用一些安全的浏览器上网,有的浏览器提供XSS过滤功能,会提示页面中可能发生的XSS注入并将其 阻挡下来。

本文标签:
XSS攻击漏洞的手段及其危害
网站建设你需要学会哪些知识?
我是如何打造一款自动化SQL注入工具的我是如何打造一款自动化SQL注入工具的分析勒索软件Cerber的攻击方法分析勒索软件Cerber的攻击方法​分析Cknife,一个类似China Chopper的webshell管理工具(第二部分)​分析Cknife,一个类似China Chopper的webshell管理工具(第二部分)某个商业定向攻击活动分析某个商业定向攻击活动分析

已有0条评论,欢迎点评!

smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley smiley

国际惯例, 沙发拿下 . . .


注册帐号  |  忘记密码