Shikata Ga Nai

Private? There is no such things.

Access Any Owner Account without Authentication (Auth bypass + 2FA bypass)を訳してみた

Hello there, ('ω')ノ

 

認証なしで任意の所有者アカウントにアクセス (認証バイパス + 2FA バイパス)を。

 

脆弱性

 認証バイパス

 MFA バイパス

 アカウント乗っ取り

 

記事:

 https://medium.com/@sharp488/access-any-owner-account-without-authentication-auth-bypass-2fa-bypass-94d0d3ef0d9c

 

今回は、認証なしでアプリケーションの任意の所有者アカウントに。

アクセスすることに関するもので。

アカウントの乗っ取りにエスカレートするために複数のバグを。

連鎖させることによって取得され。

 

そこで、いくつかのバグを見つけた後、隠し URL や機密情報などがないか。

js ファイルをチェックすることにし。

アプリケーション UI に表示されていない (隠し) URL を。

いくつか見つけることができて。

 

たとえば、https://target.com/reports/thirdparty という URL の 1 つに。

メインのダッシュボードのコンテンツにアクセスすることなく。

アプリケーションのレポート セクションのみに。

アクセスできるサードパーティ ユーザを作成する機能が含まれていたとして。

レポートにアクセスするには、別のドメインで。

ホストされている 下記のURL からログインする必要があって。

 

 https://myreport.com/login.php 

 

ログイン後、応答にセッション ID が含まれておらず。

本文に orgid および userid パラメータのみが含まれていることに気付き。

 

HTTP/1.1 200 OK

Date: Sun, 20 Nov 2022 08:52:07 GMT

Content-Type: application/json

Content-Length: 175

Connection: close

Server: Apache/2.2.22 (Ubuntu)

Vary: Accept-Encoding

{“success”:true,”message”:”Success!”,”data”:{“logo”:””,”sub”:””,”orgid”:”3848",”userid”:”78895"}}

 

そこで、別のorgidとuseridへの応答を操作しようとすると。

驚いたことに、それは機能し、別のアカウントのデータに。

アクセスすることができて。

応答を転送した後、アプリケーションは、レポート セクションに。

リダイレクトしながら、SessionID 値を設定して。

 

ここで、メイン アプリケーションとこのサード パーティ レポートの 。

URL にセッション用の同様の Cookie が含まれていたため。

たとえば SessionID を使用して、メイン URL のコンテンツに。

アクセスすることにすると。

 

驚いたことに、実際の資格情報や 2FA コードなしで。

すべてのデータにアクセスし、所有者としてアカウントを。

効果的に引き継いでメイン アプリケーションでアクションを実行することができて。

 

この問題の根本的な原因は、サード パーティのユーザが。

サード パーティの URL でレポートにアクセスするための。

所有者のセッションを割り当てられ、それを使用して。

メイン アプリケーション内のあらゆるものにアクセスできることで。

 

また、サードパーティの URL での認証は、提供された実際の資格情報ではなく。

応答の本文のパラメータに基づいていて。

 

攻撃者は認証なしで所有者のアカウントに完全にアクセスできるため。

CRITICAL 重大度のバグとしてトリアージされて。

 

Best regards, (^^ゞ