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="{,},>,<,',;,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;
}
分享到:
相关推荐
搜索框引发的XSS漏洞通常属于反射型,即用户输入的数据未经处理直接出现在动态生成的网页上。攻击者可以通过构造特殊的搜索关键词,使页面执行恶意脚本,从而影响浏览该页面的用户。 例如,2005年MySpace的XSS蠕虫...
XSS 漏洞是一种常见的前端安全问题,指的是攻击者在 Web 应用程序中注入恶意脚本,以欺骗用户或窃取用户信息。XSS 漏洞的危害非常高,黑客可以通过 XSS 漏洞盗取用户的敏感信息,或者执行恶意操作。 1. 非持久性 ...
360 webscan是一款由360公司提供的网站安全检测工具,它可以扫描并报告WordPress等网站平台的XSS漏洞。当360 webscan检测到WordPress存在XSS漏洞时,就需要采取措施来修复这个问题,以保护网站的安全和用户的数据。 ...
XSS漏洞扫描工具和技术包括自动化的扫描器,如OWASP ZAP、Nessus、Burp Suite等,它们能够自动探测Web应用中的潜在XSS漏洞。这些工具会模拟攻击者的操作,发送带有测试脚本的请求,并分析响应以确认是否存在XSS漏洞...
在这份文档中,我们将详细探讨与Web安全相关的两个关键漏洞:跨站脚本攻击(XSS漏洞)和命令执行漏洞。首先,文档强调了XSS漏洞的基础知识,包括与之相关的JavaScript基本语法,因为要理解XSS攻击原理,需要先掌握...
007-Web安全基础3 - XSS漏洞
XSS(Cross Site Scripting,跨站脚本攻击)是一种常见...在本议题中,XSS漏洞的深入浅出介绍将围绕形成机制、攻击手段和防御策略等方面展开,强调开发过程中如何避免和减少XSS漏洞的风险,保障Web应用的安全稳定运行。
XSSProject是一个专门针对XSS攻击防护的Java库,通过提供一系列的过滤规则和处理机制,帮助开发者构建更安全的Web应用。 首先,我们来了解一下XSSProject的核心功能。XSSProject主要包含以下几个方面: 1. **XSS...
测试文档(XSS漏洞) XSS(Cross-site Scripting,跨站脚本攻击)是一种常见的Web应用安全漏洞,攻击者可以通过在网站上注入恶意脚本,以便在用户的浏览器中执行恶意代码,窃取用户的敏感信息或实施其他恶意行为。 ...
在描述中提到的三种Input XSS漏洞检测字符串是:“”、“”和 “<script>alert(/xss/)”。首先,“”是最基本的HTML标签检测,如果在源代码中发现这对标签,可能表明网站没有对HTML标签进行过滤。其次,“”可以用来...
动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成XSS,原本应当是css,但为了和层叠样式表(Cascading Style Sheet,CSS )有所区分,故称XSS)的威胁,而静态站点则完全不受...
2. XSS漏洞原理:XSS漏洞产生的根本原因是Web应用没有对用户输入进行适当的验证和过滤,使得用户输入的数据包含恶意脚本代码,当这些数据被浏览器当作HTML代码的一部分执行时,就会触发XSS漏洞。XSS漏洞分为几种类型...
95-web漏洞之XSS漏洞挖掘
标题 "XSS漏洞" 描述了我们今天要深入探讨的主题——跨站脚本攻击(Cross-Site Scripting,简称XSS)。XSS是一种常见的网络安全漏洞,它允许恶意攻击者通过在网页上注入可执行的脚本来对用户进行攻击。攻击者通常...
XSS(Cross-Site Scripting)扫描器是网络安全领域中的一种重要工具,它主要用于检测Web应用程序是否存在XSS漏洞。XSS Scanner 1.0作为一款专门的XSS挖掘工具,可以帮助安全研究人员和开发者识别并修复可能导致敏感...
XSS(Cross-site scripting)是一..."shiyaner"这个文件可能是包含了一些实验或示例代码,用于演示XSS漏洞的攻击方式以及如何防护。通过学习这些源代码,开发者可以更好地理解和实践XSS防护策略,提高Web应用的安全性。
综上所述,XSS漏洞是网站安全的重要威胁,开发者应掌握相应的安全编程技巧,了解黑客可能使用的攻击手法,并在项目开发过程中积极防御,保障用户的数据安全。通过学习如ASM、C/C++、C#、.NET和LAMP等编程语言,可以...
为了检测XSS漏洞,我们设计了一种基于Python的XSS漏洞检测插件,该插件可以自动检测Web应用中的XSS漏洞。插件的工作流程如下:首先,插件会对Web应用进行扫描,检测Web应用中的输入参数是否存在XSS漏洞;然后,插件...