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

 

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

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

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

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

 

そこで、プライベート プログラムに 2 か月を費やし。

いくつかのバグを見つけた後、隠し 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, (^^ゞ