質問

HttpOnly Cookieに関するこのブログ投稿を読むと思い始めました。 HttpOnly Cookieを任意の形式のXSSを介して取得できますか?ジェフは、「バーを大幅に引き上げる」と述べています。しかし、XSSから完全に保護されていないように聞こえます。

すべてのブラウザがこの機能を適切にサポートしているわけではないという事実を別にすれば、ハッカーがHttpOnlyである場合、どのようにしてユーザーのCookieを取得できますか?

HttpOnly Cookieが別のサイトに自分自身を送信したり、スクリプトで読み取られるようにする方法は考えられないので、これは安全なセキュリティ機能のように見えますが、私は常に一部の人々がどれほど簡単にできるかに驚いています多くのセキュリティレイヤーを回避します。

私が働いている環境では、IEを排他的に使用しているため、他のブラウザーは問題になりません。これがブラウザ固有の欠陥に依存しない問題になる可能性のある他の方法を具体的に探しています。

役に立ちましたか?

解決

最初に、他の一部の人が述べたように、XSSはCookieを盗むだけでなく、他のペイロードを 許可できます。

しかし、とにかくXSSでhttpOnly Cookieを盗むには ありますか? (httpOnlyサポートの質問を無視しますか?).... 答えは「はい」です。
XSSのサブセットは、クロスサイトトレース(XST)として知られています(または、元の研究論文)。この攻撃では、XSSペイロードがWebサーバーにHTTP TRACEリクエストを送信します(またはプロキシ、フォワードまたはリバース)、これはクライアントに完全なリクエストをエコーバックします-あなたのクッキーを含む、httpOnlyかどうか。 XSSペイロードは、返された情報を解析し、それらのおいしいクッキーを取得できます...


ところで、さらに別の「サブセット」 XSSの(kinda)では、応答ヘッダーにペイロードを注入します。同様ですが、これは exactly XSSではなく、ヘッダーインジェクションは HTTPに至る可能性さえあります。応答分割(HRS)-より強力で、他のクライアントのほぼ完全な制御、キャッシュポイズニング、および必要に応じてCookieへのアクセスを許可します。

他のヒント

ブラウザがHttpOnlyを理解していない場合、攻撃は成功します。 編集:わかりました、あなたは気にしません。それは問題ありませんが、参考のためにこの通知を残します。明示的に述べると便利です。

ネットワークを盗聴する以外に盗む別の方法は、ユーザーのコンピューターを直接制御することです。その後、Cookieをファイルから読み取ることができます。セッションCookieの場合、ブラウザを閉じた後、もちろん削除されます。

ところで、セッションCookieを盗むことは、可能な「ペイロード」だけではありません。 XSS攻撃の。たとえば、CSRF保護が役に立たない場合があります。ユーザーを欺くためにサイトのコンテンツを変更する可能性があります。その他の多くの悪意のあるもの。

良い方法で(エスケープ出力)して自分自身を保護し、HttpOnlyを保護の追加の層と考えてください。

HttpOnly Cookieを使用すると、 XSS攻撃がこれらのCookieを取得できなくなります

以下の場合:

  • ブラウザはHttpOnlyをサポートしていません
  • HttpOnlyを破壊するブラウザにこれまで未知の脆弱性があります
  • サーバーが危険にさらされました(しかし、おそらくとにかくホースで縛られているでしょう)。

別の投稿者が述べたように、XSSが唯一の脅威ではなく、Cookieの取得がXSSからの唯一の脅威ではありません。あなたはこれを知っていたと確信しています-私はちょうど完了しています!

がんばって!

JavaScriptはページ上のHTMLを変更できるため、httpOnlyはしない の場合、XSSに対して安全であることを意味します。

パケットスニッフィングは、http経由で送信されたCookieを読み取ることができます。ただし、XSSに該当しない場合があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top