sonar qube 在身份验证入口点引发 xss 漏洞问题

问题描述 投票:0回答:1

我正在尝试使用authenticationentrypoint覆盖springboot中401情况下的标准错误响应

在开始方法中 我正在构建我的自定义错误对象,其中涉及以下行

 String responseMsg = mapper.writeValueAsString(responseObject);
 response.getWriter().write(responseMsg);

上述解决方案工作绝对正常,但 sonarqube 引发漏洞问题

有什么替代方案吗?或者我怎样才能克服声纳问题错误

提前致谢

更新:-我通过使用链接中的解决方案解决了它,然后替换不需要的字符

java authentication sonarqube http-status-code-401
1个回答
0
投票

以下两个解决方案:根据 SonarQube https://rules.sonarsource.com/java/RSPEC-5131/ 对于像

这样的错误

java/io/PrintWriter.write(Ljava/lang/String;)V 的使用可以是 容易受到 XSS 攻击

HTML 编码

import org.owasp.encoder.Encode;

public void endpoint(HttpServletRequest request, HttpServletResponse response) throws IOException
{
    String data        = request.getParameter("input");
    PrintWriter writer = response.getWriter();

    writer.print(Encode.forHtml(data));
}

设置内容类型

public void endpoint(HttpServletRequest request, HttpServletResponse response) throws IOException
{
    String data        = request.getParameter("input");
    PrintWriter writer = response.getWriter();

    response.setContentType("text/plain");
    writer.print(data);
}
© www.soinside.com 2019 - 2024. All rights reserved.