一尘不染

如何修复XSS Vulnerabilites

jsp

我们正在使用fortify扫描Java源代码,并且抱怨以下错误:

Method abc() sends unvalidated data to a web browser on line 200, which can result in the browser executing malicious code.

下面是第200行的代码:

<a href="<%= Util.getProduct(request) %>">Product</a>

和Util.java hsa下面的getProduct方法中的代码:

String prod = request.getParameter("prod");

谁能告诉我如何解决此XSS漏洞?

谢谢!


阅读 473

收藏
2020-06-10

共1个答案

一尘不染

您需要转义的输出Util.getProduct(request)。通常,这是使用JSTL和<c:out>标签以及EL来完成的:

<a href="<c:out value="${Util.getProduct(request)}"/>" class="left_nav_link">Product</a>

注意, 您必须使用EL的最新实现(按照JSTL或JSP2.0EL在EL方法中使用带有参数和Parameters的getter,才能将参数传递给getter方法。

2020-06-10