web-dev-qa-db-ja.com

HTTPS経由でのみアクセスした場合でも、セキュアフラグのないCookieは盗まれる可能性がありますか?

Cookieに安全なフラグが設定されていない場合、HTTPSサイトで使用されるCookieをキャプチャすることは可能ですか?.

サイトが https://www.example.com であるとします。

http://www.example.com は表示されません。また、 http://www.example.com:44 は表示されません。

それでも方法はありますか?

5
Novice User

はい。

HTTPSはMITM攻撃を防ぎます。考慮してください:

1) https://secure.example.com/ にアクセスすると、ブラウザにCookieがドロップされます

2)次に http://www.google.com/ にアクセスしますが、MITMが挿入します

<div style='visibility:hidden'>
   <iframe src='http://secure.example.com/'></iframe>
<div>

3)MITMがiframeのリクエストからCookieをスニッフィングします

または、(意図的に) https://secure.example.com/ から http://secure.example.com/ に移動しても、攻撃者はCookieを盗聴するためにHTMLを挿入する必要さえあります。

そして、セッション固定の可能性もあります- https://secure.example.com/ によってドロップされたCookieにセキュアフラグが設定されている場合でも、セッションIDが返されても役に立たない安全でないCookieで受信されました(これもMITMを介して設定されます)。

4
symcbean

@symcbeanに同意します。さらに、興味深いセッション固定手法を以下に示します。

CookieはJavaScriptのように同じOriginポリシーに従っていないため、HTTPがHTTPSスペースで読み取ることができるCookieを設定できることは古くから知られています。さらに重要なことは、HTTP Cookieが安全であるとマークされていても、HTTP CookieがHTTPS Cookieを上書きできることです。調査中に、攻撃者の利益のためにこれを使用するセッション固定の形式について考え始めました。攻撃者がSSL/TLSを介してユーザーのアカウントにアクセスすることを望んでいるとします。次に、認証の前にWebサイトがセッションCookieを設定し、認証後に、サイトが受け取ったユーザー名とパスワードの組み合わせに対して、Cookieを有効としてマークするとします。

最初に、攻撃者は被害者がそこに着く前にWebサイトにアクセスして、セッションCookieを取得できるようにします。次に、被害者が同じドメインのHTTPのままである場合、攻撃者はHTTPS Webサイトに再生するCookieを設定できます。そのため、攻撃者は被害者のブラウザに受け取ったのと同じCookieを設定します。被害者が認証されると、攻撃者が被害者に提供した(そして知っている)Cookieは、被害者のアカウントに対して有効になります。被害者がすでに認証されているか、すでにセッショントークンを取得していたとしても、大したことはありません。攻撃者はCookieを上書きし、最悪の場合、ユーザーはログアウトされます。被害者が再認証したら、出来上がり-セッションの修正。攻撃者がしなければならないことは、自分のブラウザで同じCookieを再生し、ユーザーのアカウントにアクセスすることだけです。

オリジナル記事

2