ソース:
脆弱性:認証
訳:
メディアのブログを読んでいると、クッキーに関する気になる記事を見つけ。
拡張機能について読みました CookieEditor タブを離れることなく Cookie を作成、変更、削除できる。
そこで、クッキーを使って遊んでみて、どんな新しいことが見つかるか試してみることに。
バグ報奨金の旅の初期段階で、私は HackerOne の Shopify プログラムをランダムに選び。
スコープを徹底的に理解した後、スコープからhttps://exchangemarketplace.com (現在は廃止されています) というドメインに遭遇し。
この Web サイトには、Shopify、Google、Facebook でサインインするオプションのみがあり。
時間を無駄にすることなく、始めましょう…
要件 : 拡張機能をインストールします。 Cookie Editor または EditThisCookie Cookie を編集またはエクスポートするには、ブラウザに
再現する手順:
- にアクセスし https://exchangemarketplace.com/ 、「サインイン」をクリックします。
- 引き続き Google アカウントでアカウントにログインします。
- ログイン後、「EditThisCookie」拡張機能をクリックして Cookie をエクスポートします。 これらの Cookie をメモ帳に保存します。
- ここで、別のブラウザを開いてこれらの Cookie をインポートします。 Cookie を使用してアカウントにログインできるようになります。
- 最初のブラウザからログアウトすると、他のブラウザからもログアウトされます。
- 最初のブラウザで Google アカウントを使用して再度ログインします。 これにより、新しい Cookie が生成されます。
- 次に、メモ帳に保存されている古い Cookie を使用して、2 番目のブラウザでアカウントにログインします。 こうすることで、セッションがアクティブであるときはいつでも、被害者のアカウントにアクセスできます。
上記の手順は単純で、ログアウト後にセッション Cookie の有効期限が切れないように見えますが、実際はそうではなく。
実際に何が起こっているのか説明して。
アプリケーションは、ユーザーのセッションがどこかでアクティブな場合にのみ古い Cookie を受け入れて。
攻撃者が古い Cookie を使用してブラウザ 2 にアクセスするには、ブラウザ 1 でユーザーがログインする必要があり。
ここでの根本的な原因は、ユーザーがログアウトをクリックしたときに、アプリケーションがログアウト時に新しいセッション Cookie 値を割り当てていないことで。
このタイプの問題は、重大度が低いとみなされ。
セッション Cookie 関連の問題をテストする場合は、このアプローチを試して。
ユーザー名とパスワードを使用する場合と、SSO を使用する場合の両方のログイン方法をテストし。
SSO Cookie を使用したサインインを許可するアプリケーションには脆弱性がある可能性が高くなり。
ほなほな。