つまり、「document.cookies」を使用すると、ブラウザはそのWebサイトにのみ属するCookieを表示します。 (またはそうではありませんか?)では、XSS攻撃はデバイス/ブラウザーに保存されているすべてのCookieを盗む可能性がありますか?ありがとう。
document.cookie
オブジェクトは、現在のドキュメントからCookieを取得します。 document は、document
オブジェクトを呼び出すJavaScriptが実行されているWebページを指します。したがって、JavaScriptは他のWebサイトからのCookieにアクセスできなくなります。これには明らかにXSS攻撃が含まれます。
「document.cookies」を使用すると、ブラウザには、そのWebサイトにのみ属するCookieが表示されます。
このステートメントは完全に真実ではありません。 document.cookie
オブジェクトを使用すると、JavaScriptは現在のドキュメントのCookieにアクセスできますが、 HTTPOnly
フラグ を持たないものにのみアクセスできます。このフラグは、JavaScriptがそれらのCookieにアクセスできないようにするために使用され、ブラウザによって強制されるポリシーです。 XSS経由で盗まれるのを防ぐために、セッションCookieでそのフラグをオンにすることをお勧めします
XSSのタイプによって異なります。 WebサイトのXSS脆弱性は、問題のドメイン(および、Cookieのいずれかでドメインをルートドメインに設定している場合はサブドメイン)の非HTTPOnly Cookieを盗むためにのみ使用できます。ただし、chrome拡張(または他のタイプのユニバーサルXSS)でXSSを利用できた場合、HTTPOnly Cookieを含むすべてのページのCookieを盗むことができる可能性があります。
ブラウザーを使用する場合、ユーザーがいるWebサイトはそのCookieにのみアクセスできます。他のWebサイトのCookieにはアクセスできません。
したがって、XSSを使用すると、脆弱なWebサイトから保存されているすべてのCookieを盗むことができます。これはdocument.cookieの制限ではなく、ブラウザの制限です。あなたはこれでより詳細な答えを持つことができます ウェブページは別のページのクッキーを読むことができます