私はSOPを理解しています。「同じオリジンポリシー」は、オリジンxのスクリプトコードがオリジンyのデータにアクセスするのを防ぐことになっています。 Originはプロトコル、ドメイン、ポートのタプルであると言われています。
これ は、SOPが何であり、なぜそれが重要であるかを説明しますが、XSSを防ぐのにどのように役立つかはそれほどではありません。
攻撃者はマリシオスリンクを作成する可能性がありますhttp://www.store.com/sale/products?id=<script>script stuff..</script>
そしてユーザーにそれをクリックさせる。脆弱なサイトはコードをクライアントのブラウザに反映します。私がこの権利を理解している場合、SOPは、jsコードが別のOrigin(たとえば、facebook.com)に属するクライアントブラウザのデータにアクセスし、セッションCookieを盗むのを防ぎます。
さて、保存されたxss攻撃のように、maliciosコードがfacebook.comから来ていた場合、SOPが適用されますか?
TL; DR:私の質問は、「同じオリジンポリシー」がどのようにXSS攻撃を防止するかであり、xssのタイプがある場合、それは防止しません。また、SOPはどのようにCookieセキュリティに変換されますか?特に、攻撃者がユーザーのセッションCookieを盗み、それを使用してユーザーに代わってアクションを実行する場合。
「同じ生成元ポリシー」はXSS攻撃をどのように防止しますか
そうではありません。
SOPは、XSSの脆弱性がない場合に機能します。
evil.com
は、認証でデータを読み取ることができません。例:facebook.com
。これは、facebook.com
は、SOPのバイパスを可能にする独自の脆弱性を導入していません。
そして、そこがXSSの出番です。これにより、SOPのbypassingが本質的に可能になります。これは、攻撃者がアプリケーションと同じOriginからスクリプトを実行できるためです(例:facebook.com
)。