• 张健文   2014/9/30 13:50:00
  • XSS(跨站脚本漏洞)攻击防范攻略
  • 关键字: 网站安全 XSS漏洞 脚本漏洞
  • XSS(跨站脚本漏洞)
    漏洞描述
    跨站攻击,即Cross Site Script Execution(通常简写为XSS)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用 户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

    安全隐患:攻击者可利用XSS漏洞获取用户cookie,传播蠕虫,篡改页面或进行钓鱼等。

    修复建议:对参数做html转义过滤(要过滤的字符包括:单引号、双引号、大于号、小于号,&符号),防止脚本执行。在变量输出时进行HTML ENCODE 处理。
    PHP应用,可以使用htmlspecialchars对用户参数进行编码
    ASP.net应用,可以使用AntiXSS
    JAVA应用,可以使用org.apache.commons.lang.StringEscapeUtils提供的Escape函数

    修复参考
     
    (1)ASP:
    问题示例代码:

    <%

    Dim param

    Set param=Request.QueryString("dd")

    response.write param

    %>


    修复范例:

    <%

    Dim param

    Set param=Request.QueryString("dd")

    response.write Server.HTMLEnCode(param)

    %>

     
    (2)PHP
    问题代码示例:

    <?php

    $aa=$_GET['dd'];

    echo $aa."123";

    ?>


    修复范例:

    <?php

    $aa=$_GET['dd'];

    echo htmlspecialchars($aa)."123";

    ?>