次の Coldfusion コードは、静的コード アナライザー Veracode.com によってテストされました。
<cfloop from="1" to="3" index="kontakt_idx">
<tr class="rowclass#htmleditformat(kontakt_idx +1)#">
<td>..</td>
</tr>
</cfloop>
私は結果を得る:
Attack Vector: coldfusion.runtime.Cast._double
Description: This call to coldfusion.runtime.Cast._double() contains a cross-site scripting (XSS) flaw.
Veracode は、Coldfusion コード自体をスキャンしません。アドビが提供するツールでプリコンパイルする必要があります。ただし、Veracode Web サイトに表示される結果は、正しい行番号を示しています。したがって、私は間違った行を指しているのではないかと疑っています。HTMLEditFormat()
最初のスキャン結果が戻ってきた後に入れましたが、エラーは残ります。
このコードはどのようにして XSS を引き起こすのでしょうか? 呼び出しcoldfusion.runtime.Cast._double
で XSS が発生する可能性はありますか? 無効な値が double にキャストされると、Coldfusion は例外をスローします。Form-scope 変数を使用していたときに、同様のエラーが発生しました。場合によっては、フォームの使用を単純に置き換えることができます。cfloop from to
I got resultの別の発生時Attack Vector: coldfusion.runtime.Cast._int
。なぜ Veracode は double へのキャストと int へのキャストがあると主張することがありますか?
この場合、どうすればいいのかまったくわかりません。Form スコープの変数が計算で使用されている場合、どうすればよいでしょうか。まずアプリケーションを保護し、次に Veracode を満たすために。