0

背景:システムをスキャンするためにツールを使用しました。XSSの脆弱性が見つかりました。スキャンする手順:挿入されたアイテム:POST:localeCountry <-これは列挙値であり、XSS文字列に変更してサーバーに保存することはできません。インジェクション値:>'> alert( "XSS warning!")検出値:>'> alert( "XSS warning!")リンク内にある攻撃応答ページで検出されました。

挿入されたアイテムは永続的ではなく、他のユーザーに影響を与えないため、これは無効な脆弱性だと思います。すべてのパラメータをエスケープする方が良いですが、この脆弱性は有効かどうか疑問に思います。

質問:1。とにかく、この脆弱性によって他のユーザーにXSSトラップをクリックさせることはできますか?

4

1 に答える 1

2

はい、それは間違いなく脆弱性です。別のサイトの誰かが次のようなフォームをコーディングする可能性があります。

<form action="http://example.com/vulnerable_service" method="POST">
    <input type="hidden" name="localeCountry" value="&gt;'&gt;alert('XSS!');">
    <input type="submit" value="Click me!!">
</form>

ユーザーが攻撃者のサイトでそのボタンをクリックすると、ユーザーはサイトにリダイレクトされますが、XSSされたコードはサイトのセキュリティコンテキストで実行され、Cookieなどを盗む可能性があります。(もちろん、POSTはJavaScriptを介して自動化できるため、ユーザーが回避するのは困難です)。攻撃文字列をデータベースに保存する必要はありません。XSSは、エスケープせずにユーザーにエコーされる悪意のある文字列に依存しているだけです。

話の教訓:あなたはその穴を修正する必要があります。

于 2012-10-19T02:22:32.873 に答える