2

以下の行でベラコードの問題が発生しています

<input type = "hidden" name = "studentName" value = "<%=viewBean.getStudName()%>">

問題は<%=viewBean.getStudName()%> ここにあります。報告された問題は、「Web ページ内のスクリプト関連の HTML タグの不適切な中和 (基本的な XSS) です。cwe.mitre.org で提供されている修正を試しましたが、適切に適用できませんでした。誰でもできます。この問題を解決する方法を教えてください。

4

5 に答える 5

1

使用する

<c:out value=${viewBean.studName}/>

代わりに逃げるXML

于 2014-10-30T07:03:17.330 に答える
0

以下のjstl taglibをjspに含めます

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

そして使う

value="${fn:escapeXml(viewBean.getStudName())}"

JSTL coreを使用している場合は、XSS を回避するために<c:out/>使用できます。escapeXml="true"

于 2015-04-08T15:48:55.597 に答える
0

値を出力する際は、html エンコーディングを使用する必要があります。そのため、エラーが発生しています。したがって、 value = "<%=ESAPI.encoder().encodeForHtml(viewBean.getStudName())%>"> としてエンコードする必要があります

org.owasp.esapi.ESAPI と org.owasp.esapi.Encoder をインポートする必要があります。

これは確かに問題を解決します..

于 2016-01-06T12:53:44.353 に答える
0

に従ってCWE

ソフトウェアは上流のコンポーネントから入力を受け取りますが、下流のコンポーネントに送信されるときに Web スクリプト要素として解釈される可能性のある「<」、「>」、「&」などの特殊文字を無効化しないか、誤って無効化します。 Web ページを処理します。

jstl@jigarが提案したようにタグを使用すると、htmlをエスケープする必要があります。

エラーを修正しようとしているSOに関するいくつかの情報、

  1. Veracode - Web ページ内のスクリプト関連の HTML タグの不適切な中和 (基本 XSS)
  2. Web ページ (基本 XSS) のスクリプト関連の HTML タグの不適切な無効化を修正し、エラー メッセージを表示する方法は?
于 2014-10-30T07:20:41.623 に答える