Hello there, ('ω')ノ
不適切な認証により、100,000 を超える
Microsoft Dynamics 365 for Partner User へのアクセスが許可される可能性があるを。
脆弱性:
IDOR
記事:
https://mearegtu.medium.com/broken-access-control-cc6cfd793b15
序章:
Microsoft が調整した脆弱性開示の一環として、
攻撃者がMicrosoft Dynamics for 365 パートナー Web サイトのユーザの
個人識別情報 (名、姓、電子メール アドレス、MPN ID など) にアクセスできる
可能性があるダイナミクス ポータル内の重大な脆弱性を。
技術的な詳細:
ステップ 0x01:
有効なパートナー アカウントを使用して、
「Dynamics 365 for Partners」ポータルにログインして。
https://dynamicspartners.xxxxx.microsoft.com/
ステップ 0x02:
上記のアプリケーションは、バックグラウンドで
さまざまな API 呼び出しを呼び出し。
現在ログインしているユーザの詳細を取得して。
次の興味深い API 呼び出しを詳しく分析すると。
リクエスト
エンドポイント:/api/Users/email?emailId=maotg@???.onmicrosoft.com
ホスト:landapi-prod.azurewebsites.net
権限:Bearer eyJ....
「emailId」パラメータはデフォルトで、
現在ログインしているユーザの電子メール アドレスを受け取って。
レスポンス
アプリケーションは、現在ログインしているユーザの姓名、電子メール アドレス、
MPNID、AAD プロファイル ID、ロール名などを返して。
ステップ 0x03:
[脆弱性/予期しない動作] ここでの 1 つの重要なテスト ケースは、
電子メール アドレスを使用して Dynamics ポータル システムの詳細上の
他のユーザにアクセスしようとしていて。
以下は、他の利用者のメールアドレスを利用したシステム情報の不正な閲覧で。
アプリケーションは、
API 呼び出しで追加の承認を確認せずにユーザの詳細を公開して。
この例では、2 番目のテスト アカウントの電子メール アドレスを使用して。
リクエスト
エンドポイント:/api/Users/email?emailId=moxxx@???.onmicrosoft.com
ホスト:landapi-prod.azurewebsites.net
権限:Bearer eyJ....
レスポンス
アプリケーションは、他のアプリケーション ユーザの姓名、電子メール アドレス、
MPNID、AAD プロファイル ID、ロール名などを許可なく公開して。
ただし、この脆弱性を悪用するには、攻撃者はダイナミクス ポータルの
他のサイト ユーザの電子メール アドレスを事前に知っている必要があって。
ステップ 0x04:
次の方法は、二次承認なしですべてのユーザ データ (~112MB) を開示して。
このテスト ケースでは、/api/Users/email?emailId=<email address> の代わりに、
API を直接呼び出して /api/Users を直接実行して。
リクエスト
エンドポイント:/api/Users
ホスト:landapi-prod.azurewebsites.net
権限:Bearer eyJ....
レスポンス
112 メガバイトの Web サイト ユーザの詳細
おそらく、100,000 ユーザを超える可能性があって。
Best regards, (^^ゞ