使用Checkmarx,这一页有多个“request.getParameterNames()”用途,并被Checkmarx标记为“CGI_Reflected_XSS_All_Clients”(查询名称)。该页面是“error.jsp”,因此它是在我公司的多个应用程序中使用的常见页面。发生意外错误时显示此页面。为什么这样?谁知道,最好不要显示它,而只是将其注销。我对Checkmarx报告的易损坏代码非常陌生。如何避免使用这一点scrip的XSS?
<h3>Request Parameters</h3>
<pre>
<%
lEnum = request.getParameterNames();
while(lEnum.hasMoreElements())
{
String key = (String)lEnum.nextElement();
String[] paramValues = request.getParameterValues(key);
for(int i = 0; i < paramValues.length; i++)
{
out.println(" " + key + " : " + paramValues[i]);
}
}
%>
</pre>