プレゼンテーション レイヤーで jsf プライムフェイスを使用し、ORM ツールとして休止状態を使用しています。セキュリティ ツールを実行してコードのセキュリティ レベルをチェックしているときに、ブラインド SQL インジェクションの警告がほとんど表示されません。この脆弱性が発生したときの基本的な理由はわかっています。確認するために、作成されたほとんどのクエリをチェックしたところ、すべてのクエリが次の正しいパターンに従っていることがわかりました。
SELECT col FROM table WHERE col = :Identifier
次に、getNamedQuery を使用してクエリを取得します。識別子を設定するには、セッター メソッドを使用します。
セキュリティ チェック ツールによって生成されたレポートには、 などの UI コンポーネント ID が含まれています。
次の変更が元のリクエストに適用されました: - パラメータ「form:someDropDown_input」の値を「0%2B0%2B0%2B1」に設定します - パラメータ「form:someDropDown_input」の値を「12345%2B12345%」に設定します2B1'
また、他のいくつかの場所では、問題を次のように示しています
次の変更が元のリクエストに適用されました: - パラメータ「javax.faces.partial.execute」の値を「%40all%27+and+%27f%27%3D%27f」に設定します
エラーレポートからはほとんど何も理解できません。ですから、どこに問題があるのか教えてください。