Uncovering the Hidden Vulnerability: How I Found an Authentication Bypass on Shopify’s Exchange Marketplace! から学ぶ

ソース:

medium.com

脆弱性:認証

 

訳:

メディアのブログを読んでいると、クッキーに関する気になる記事を見つけ。
拡張機能について読みました CookieEditor タブを離れることなく Cookie を作成、変更、削除できる。
そこで、クッキーを使って遊んでみて、どんな新しいことが見つかるか試してみることに。 

 

バグ報奨金の旅の初期段階で、私は HackerOne の Shopify プログラムをランダムに選び。
スコープを徹底的に理解した後、スコープからhttps://exchangemarketplace.com (現在は廃止されています) というドメインに遭遇し。

この Web サイトには、Shopify、GoogleFacebook でサインインするオプションのみがあり。

 

 

時間を無駄にすることなく、始めましょう…

要件 : 拡張機能をインストールします。 Cookie Editor または EditThisCookie Cookie を編集またはエクスポートするには、ブラウザに

再現する手順:

  1. にアクセスし https://exchangemarketplace.com/ 、「サインイン」をクリックします。
  2. 引き続き Google アカウントでアカウントにログインします。
  3. ログイン後、「EditThisCookie」拡張機能をクリックして Cookie をエクスポートします。 これらの Cookie をメモ帳に保存します。
  4. ここで、別のブラウザを開いてこれらの Cookie をインポートします。 Cookie を使用してアカウントにログインできるようになります。
  5. 最初のブラウザからログアウトすると、他のブラウザからもログアウトされます。
  6. 最初のブラウザで Google アカウントを使用して再度ログインします。 これにより、新しい Cookie が生成されます。
  7. 次に、メモ帳に保存されている古い Cookie を使用して、2 番目のブラウザでアカウントにログインします。 こうすることで、セッションがアクティブであるときはいつでも、被害者のアカウントにアクセスできます。

上記の手順は単純で、ログアウト後にセッション Cookie の有効期限が切れないように見えますが、実際はそうではなく。
実際に何が起こっているのか説明して。
アプリケーションは、ユーザーのセッションがどこかでアクティブな場合にのみ古い Cookie を受け入れて。

攻撃者が古い Cookie を使用してブラウザ 2 にアクセスするには、ブラウザ 1 でユーザーがログインする必要があり。
ここでの根本的な原因は、ユーザーがログアウトをクリックしたときに、アプリケーションがログアウト時に新しいセッション Cookie 値を割り当てていないことで。
このタイプの問題は、重大度が低いとみなされ。

 

セッション Cookie 関連の問題をテストする場合は、このアプローチを試して。
ユーザー名とパスワードを使用する場合と、SSO を使用する場合の両方のログイン方法をテストし。
SSO Cookie を使用したサインインを許可するアプリケーションには脆弱性がある可能性が高くなり。

 

ほなほな。