`
THZOP
  • 浏览: 2953 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web项目XSS漏洞处理

web 
阅读更多
public void doFilter(ServletRequest req0, ServletResponse res0,
FilterChain chain)
{

HttpServletResponse response = (HttpServletResponse) res0;
HttpServletRequest request = (HttpServletRequest) req0;
response.setHeader("P3P", "CP=CAO PSA OUR");
try
{
       //  ActionContext ctx =ServletActionContext.getActionContext(request);
        Enumeration<String> paramNames = request.getParameterNames();
        String specialCharactersStr = SystemConfig.interceptSpecial;
     
        if (null != specialCharactersStr && specialCharactersStr.length() != 0)
        {
            while (paramNames.hasMoreElements())
            {
                String paramName = (String) paramNames.nextElement();
                String value = request.getParameter(paramName);
                if (matchRegPattern(paramName))
                {
                 
                    String errorMsg = "跨站漏洞检查:请求参数名【" + paramName + "】含有特殊字符【"
                        + specialCharactersStr + "】中的一个或多个!";
                   
                  //  ctx.getValueStack().set("operMsg", errorMsg);
                    response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
            out.println("<HTML>");
            out.println("  <HEAD><TITLE>恶意攻击提醒</TITLE></HEAD>");
            out.println("  <BODY>");
            out.print("     ");
            out.print(errorMsg);
            out.println(", ");
            out.println("  </BODY>");
            out.println("</HTML>");
            out.flush();
            out.close();

                }
                if (matchRegPattern(value))
                {
                    String errorMsg = "跨站漏洞检查:请求参数值【" + value + "】含有特殊字符【"
                        + specialCharactersStr + "】中的一个或多个!";
                    response.setContentType("text/html;charset=utf-8");
            PrintWriter out = response.getWriter();
            out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
            out.println("<HTML>");
            out.println("  <HEAD><TITLE>恶意攻击提醒</TITLE></HEAD>");
            out.println("  <BODY>");
            out.print("     ");
            out.print(errorMsg);
            out.println(", ");
            out.println("  </BODY>");
            out.println("</HTML>");
            out.flush();
            out.close();
                }
            }
        }
chain.doFilter(req0, res0);
}
catch (Exception e)
{
e.printStackTrace();
}
}


web.xml配置

<filter>
<filter-name>loginfilter</filter-name>
<filter-class>com.ipi.wlan.base.common.FiterHandle</filter-class>
</filter>
<filter-mapping>
<filter-name>loginfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

过滤字符:<item name="interceptSpecial" value="{,},>,<,&apos;,;,alert(,alert(," comment="个性化字段过滤"/>


    private static boolean matchRegPattern(String strTarget)
    {
        String[] specialCharactersArray = SystemConfig.interceptSpecial
            .split(",");
        if (null != strTarget)
        {
            for (int i = 0; i < specialCharactersArray.length; i++)
            {
                if (strTarget.indexOf(specialCharactersArray[i]) >= 0)// 该字符串存在特殊字符
                {
                    return true;
                }
            }
        }
        return false;
    }
0
1
分享到:
评论
1 楼 漫步邃思 2015-11-17  
改成模式匹配的效果会更好

相关推荐

    搜索框——不能忽视的XSS漏洞—搜索框所引起的XSS漏洞

    搜索框引发的XSS漏洞通常属于反射型,即用户输入的数据未经处理直接出现在动态生成的网页上。攻击者可以通过构造特殊的搜索关键词,使页面执行恶意脚本,从而影响浏览该页面的用户。 例如,2005年MySpace的XSS蠕虫...

    前端顽疾--XSS漏洞分析与解决.ppt

    XSS 漏洞是一种常见的前端安全问题,指的是攻击者在 Web 应用程序中注入恶意脚本,以欺骗用户或窃取用户信息。XSS 漏洞的危害非常高,黑客可以通过 XSS 漏洞盗取用户的敏感信息,或者执行恶意操作。 1. 非持久性 ...

    360webscan解决xss漏洞

    360 webscan是一款由360公司提供的网站安全检测工具,它可以扫描并报告WordPress等网站平台的XSS漏洞。当360 webscan检测到WordPress存在XSS漏洞时,就需要采取措施来修复这个问题,以保护网站的安全和用户的数据。 ...

    XSS漏洞扫描 XSS漏洞扫描

    XSS漏洞扫描工具和技术包括自动化的扫描器,如OWASP ZAP、Nessus、Burp Suite等,它们能够自动探测Web应用中的潜在XSS漏洞。这些工具会模拟攻击者的操作,发送带有测试脚本的请求,并分析响应以确认是否存在XSS漏洞...

    第五第六式web安全之xss漏洞、命令执行漏洞专题.pdf

    在这份文档中,我们将详细探讨与Web安全相关的两个关键漏洞:跨站脚本攻击(XSS漏洞)和命令执行漏洞。首先,文档强调了XSS漏洞的基础知识,包括与之相关的JavaScript基本语法,因为要理解XSS攻击原理,需要先掌握...

    007-Web安全基础3 - XSS漏洞.pptx

    007-Web安全基础3 - XSS漏洞

    XSS漏洞挖掘与安全防护.pdf

    XSS(Cross Site Scripting,跨站脚本攻击)是一种常见...在本议题中,XSS漏洞的深入浅出介绍将围绕形成机制、攻击手段和防御策略等方面展开,强调开发过程中如何避免和减少XSS漏洞的风险,保障Web应用的安全稳定运行。

    javaweb配置xssproject,完美解决安全检测报XSS漏洞

    XSSProject是一个专门针对XSS攻击防护的Java库,通过提供一系列的过滤规则和处理机制,帮助开发者构建更安全的Web应用。 首先,我们来了解一下XSSProject的核心功能。XSSProject主要包含以下几个方面: 1. **XSS...

    测试文档(Xss漏洞)

    测试文档(XSS漏洞) XSS(Cross-site Scripting,跨站脚本攻击)是一种常见的Web应用安全漏洞,攻击者可以通过在网站上注入恶意脚本,以便在用户的浏览器中执行恶意代码,窃取用户的敏感信息或实施其他恶意行为。 ...

    Input XSS最新漏洞及利用

    在描述中提到的三种Input XSS漏洞检测字符串是:“”、“”和 “&lt;script&gt;alert(/xss/)”。首先,“”是最基本的HTML标签检测,如果在源代码中发现这对标签,可能表明网站没有对HTML标签进行过滤。其次,“”可以用来...

    jQuery-with-XSS 检测jQuery版本是否存在XSS漏洞

    动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受...

    xss漏洞讲解.pdf

    2. XSS漏洞原理:XSS漏洞产生的根本原因是Web应用没有对用户输入进行适当的验证和过滤,使得用户输入的数据包含恶意脚本代码,当这些数据被浏览器当作HTML代码的一部分执行时,就会触发XSS漏洞。XSS漏洞分为几种类型...

    95-web漏洞之XSS漏洞挖掘.pdf

    95-web漏洞之XSS漏洞挖掘

    XSS漏洞

    标题 "XSS漏洞" 描述了我们今天要深入探讨的主题——跨站脚本攻击(Cross-Site Scripting,简称XSS)。XSS是一种常见的网络安全漏洞,它允许恶意攻击者通过在网页上注入可执行的脚本来对用户进行攻击。攻击者通常...

    XSS Scanner 1.0 挖掘XSS漏洞的利器

    XSS(Cross-Site Scripting)扫描器是网络安全领域中的一种重要工具,它主要用于检测Web应用程序是否存在XSS漏洞。XSS Scanner 1.0作为一款专门的XSS挖掘工具,可以帮助安全研究人员和开发者识别并修复可能导致敏感...

    XSS漏洞攻击与防护源代码

    XSS(Cross-site scripting)是一..."shiyaner"这个文件可能是包含了一些实验或示例代码,用于演示XSS漏洞的攻击方式以及如何防护。通过学习这些源代码,开发者可以更好地理解和实践XSS防护策略,提高Web应用的安全性。

    xss漏洞,网站安全编程,黑客编程

    综上所述,XSS漏洞是网站安全的重要威胁,开发者应掌握相应的安全编程技巧,了解黑客可能使用的攻击手法,并在项目开发过程中积极防御,保障用户的数据安全。通过学习如ASM、C/C++、C#、.NET和LAMP等编程语言,可以...

    基于python的XSS漏洞检测插件的设计与实现.docx

    为了检测XSS漏洞,我们设计了一种基于Python的XSS漏洞检测插件,该插件可以自动检测Web应用中的XSS漏洞。插件的工作流程如下:首先,插件会对Web应用进行扫描,检测Web应用中的输入参数是否存在XSS漏洞;然后,插件...

Global site tag (gtag.js) - Google Analytics