要检查的模式以避免XSS攻击



我已经写了一个Filter下面是代码

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)
            throws IOException, ServletException {
HttpServletRequest srequest = (HttpServletRequest) request;
HttpServletResponse sresponse = (HttpServletResponse) response;
String url = srequest.getRequestURI();
if(url.contains("//What patterns to be checked here?"))
{
 //Invalidate the Session
 //Redirect to error page
}

我正在阅读形成的URL,并希望避免XSS攻击。所以,我想在URL中检查任何可能表明它可能导致XSS攻击的模式。

能给我一份所有模式的综合清单吗?例如,

url.contains("<script>");

哇,不要。有很多来源可以解释为什么:

  • 黑名单几乎总是一件坏事
  • 你不应该检查输入的XSS,但是,转义输出不管它的来源

如果你想要更多关于防止XSS的信息,请访问Owasp XSS备忘单。

在另一个网站上,如果你想添加一些有限的脚本/编辑功能到你的网站,你可以而且应该使用替代(像在stackoverflow你不写<b>你使用**,这是后来转换为适当的html标签)。或者你可以使用白名单,只允许文本和一些标签,但这可能很棘手,你必须非常小心。

相关内容

  • 没有找到相关文章

最新更新