8

OWASP の ZAP の結果は、私の Web サイトの脆弱な部分を排除するのに非常に役立ちました。

ただし、単純に修正できない結果が多数見つかりました。たとえばjavascript:alert(1);、変数に入れられた get パラメータの 1 つです。この変数は、隠し要素のvalue属性で PHP によって出力されます。したがって、最終的な HTML は次のようになります。

<input type="hidden" name="someName" id="someID" value="javascript:alert(1);"/>

この値は通常、ドロップダウンに JavaScript を入力するために使用されます。1 の場合はオプションの検索フィルターを表示し、0 の場合は何も表示しません。したがって、失敗した文字列比較でのみ使用されます。

これが悪用される可能性はないと思います。アラートは、ZAP が示した他の攻撃とは異なります。"/>出力はエンコードされているため、以前に発見された攻撃のように引用符や要素を早期に終了して HTML を挿入することはできません。これらの文字は HTML エンティティの対応物になるためです。

これは、ページ ソースの入力文字列と一致する ZAP からの単なる誤検出javascript:alert(1);ですかjavascript:alert(1);?

4

3 に答える 3

3

この脆弱性は、ZAP がその入力フィールドに任意のコードを挿入できたことを意味します。これは、アプリのどこかでユーザー入力を検証していない可能性が高いことを意味します。

その入力フィールドの生成にはより注意を払い、それを生成するために使用される GET パラメータが適切に検証されるようにする必要があります。

後悔するよりも安全であることを忘れないでください (つまり、アプリが危険にさらされます)。

于 2015-03-04T08:17:33.007 に答える
2

はい、OWASP の ZAP は Web サイトの脆弱性を見つけようとし、自動的に機能します。

コードの一部を Web サイトに追加することに成功した場合、その Web サイトは自動的に脆弱であると見なされます。

Web サイトが非表示の入力の値として "0" または "1" のみを受け入れ、その値をどこにも (Cookie にも) 保存したりプロンプトを表示したりしない場合、これはセキュリティ上の脆弱性ではなく、安全です。

于 2015-03-01T12:45:44.510 に答える