サイトの localstorage 値を xss(クロスサイトスクリプティング) で上書きできますか? Chrome と Firefox で確認した限りでは、あるサイトの localstorage 値に別のサイトからアクセスすることはできません。xss によってブラウザの別のドメインから localstorage の値を読み書きできるかどうか教えてもらえますか?
3 に答える
現在、多くの Web サイトで、分析、A/B テスト、マーケティング ツール、ヒート マップなどにサードパーティの js ライブラリが追加されています。コードについては確信があるかもしれませんが、これらのスクリプトの 1 つが脆弱である場合は、XSS 攻撃を簡単に予期する必要があります。この場合、localStorage を取得できます。セッション識別子または機密トークンにローカル ストレージを使用しないでください。Cookie に固執し、HTTPOnly
および Secure フラグを使用します。Cookie に対する CSRF 攻撃を防ぐために、ほとんどすべてのリクエストには、Origin
Header とReferer
Header のいずれかまたは両方が含まれています。CSRF は、API から HTTP リファラーとオリジン ヘッダーをチェックすることで部分的に防止できます。CSRF 攻撃には、アプリケーションとは関係のない Referer ヘッダーと Origin ヘッダーが含まれます。
リフレクトされた XSS からの Javascript などは、XSS が存在するドメインで通常の JS が実行できることは何でも実行できます。そのため、example.com が localStorage に何かを保存していて、example.com にも XSS の欠陥がある場合、その XSS 脆弱性を使用して、localStorage のユーザー データを抽出または上書きできます。localStorage からのデータを使用して DOM ベースの XSS を利用する、反映された XSS を使用することもできます。つまり、クライアント側の永続的な XSS です。
Web ストレージ (ローカルおよびセッション) は、シングル オリジン ポリシーに従います。そのため、Web ストレージへの XSS アクセスはできません。