网站运营
位置:首页>> 网站运营>> 跨站漏洞解析-小韩网站编程安全系列一(3)

跨站漏洞解析-小韩网站编程安全系列一(3)

作者:小韩 来源:蓝色经典 发布时间:2007-07-13 10:06:00 

标签:跨站,漏洞,安全

如何防止跨站脚本攻击

我想通过上面的内容,你已经深切的领会到了,跨站脚本攻击的危害是非常大的,那么,如何防止这个漏洞呢。

最简单的办法,就是将用户输入的内容进行HTML转义,这样你不必考虑用户输入什么内容,内容中有哪些危险的字符需要过滤,例如在ASP中,我们可以使用Server.HtmlEnCode()来转义,php中可以使用htmlspecialchars()这个函数。

但是,这种方法并不能称为最优解,这其实是一种消极的方法,因为用户输入的内容可能有危险,那么就将其全部转义。而比较好的方法就是通过正则表达式来进行替换,当然,UBB代码也是起到这个作用的,程序员将HTML代码禁用,取而代之以约定的少量UBB来代替HTML,从而起到好的效果。

这里由于篇幅原因,我就不详细列出各UBB函数的详细内容了,这里我列出一些常见的和很少人了解的跨站方法,供你参考是否已经对这些方式进行了过滤。

<IMG SRC="javascript:alert(’XSS’);">
<IMG SRC=’vbscript:msgbox("XSS")’>
<IMG SRC=javascript:alert("XSS")>(采用HTML实体)
<IMG SRC=j&#97;v&#97;s&#99;ript&#58;&#97;lert&#40;&#39;&#88;&#83;&#83;&#39;&#41>(使用utf8字符集)
<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>
<IMG SRC="jav&#x09;ascript:alert(’XSS’);">
<BODY BACKGROUND="javascript:alert(’XSS’)">
<DIV STYLE="background-image: url(javascript:alert(’XSS’))">
<DIV STYLE="width: expression(alert(’XSS’));">(注意,使用expression是十分灵活的,例如,如果你过滤了expression,他还可以使用exp/**/resssion,你过滤了/**/,他还可以使用exp/*sometext*/ression)
<STYLE>@im\port’\ja\vasc\ript:alert("XSS")’;</STYLE>
<OBJECT TYPE="text/x-scriptlet" DATA="http://ha.ckers.org/scriptlet.html"></OBJECT>

相关阅读:上传漏洞解析-小韩网站编程安全系列二

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com