1

静的スキャンを使用して VERACODE ツールでアプリケーションを実行すると、中レベルおよび低レベルの問題がほとんど発生しませんでした。私が直面している問題の 1 つは、Web ページ内のスクリプト関連の HTML タグの不適切な中和 (基本 XSS) (CWE ID 80) です。これは、アプリケーションの多くの画面で発生します。

私のコードでのそのような例の1つは次のとおりです。

<table border="1" width="500">
<%  java.util.Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String)names.nextElement();
String[] values = request.getParameterValues(name);
%>
<tr>
<td align="left"><b><%= name %></b></td>
<td align="left">
<%      for (int i = 0; i < values.length; i++) { %>
<%= values[i] %>
<%      
if (i < values.length - 1) { %>
<%= ", " %>
<%          }
} %>
</td>
</tr>
<%  } %>
</table>

<%= name %>行でエラーがスローされます 。この XSS の問題を修正するのを手伝ってください。

4

2 に答える 2

0

org.owasp.esapi.ESAPI と org.owasp.esapi.Encoder をインポートする必要があります。これには OWASP と ESAPI を使用する必要があります。収集されているエンコード名

Encoder encoder = ESAPI.encoder
String name =encoder.encodeForHtml((String)names.nextElement());

これは役立つかもしれません。

于 2016-01-06T13:01:53.120 に答える
0

<c:out > の使用に切り替えるか、StringEscapeUtils.escapeHtml() を使用します。

于 2013-08-29T21:14:48.553 に答える