编程语言
首页 > 编程语言> > java – 如何修复XSS漏洞

java – 如何修复XSS漏洞

作者:互联网

我们正在使用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下面的getProduct方法中的代码:

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

任何人都可以告诉我如何解决这个XSS漏洞吗?

谢谢!

解决方法:

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

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

注:你必须使用一个相当最新的EL实现(根据JSTL or JSP 2.0 EL for getter with argumentParameters in EL methods),以便将参数传递给getter方法.

由于你的问题中的代码包含scriptlet,我强烈建议你阅读How to avoid Java code in JSP files?这个问题包括使用JSTL EL而不是scriptlet的原因,以及关于这两个首字母缩略词实际引用的内容的一些信息.

标签:java,jsp,fortify
来源: https://codeday.me/bug/20190630/1336506.html