Exposing Sensitive Information Through IDOR Leads To ATO から学ぶ

ソース:

medium.com

脆弱性:IDOR

 

訳:

最近、機密の個人識別情報 (PII) が明らかになっただけでなく、アカウント乗っ取りの可能性も可能にする脆弱性を発見して。 

発見

私は金融サービス プラットフォーム (BBP on H1) 上のイベント システムのセキュリティをテストしていて。

最初の手がかりは、電子メール登録をチェックするように設計された API エンドポイントと対話したときに得られて。
エンドポイントは十分に無害であるように見え。

 

https://sub.redacted.com/registration/checkEmail?productGroupId=6926&email= 

電子メール パラメーターを別の電子メール アドレスに変更するとどうなるかを確認することにして。

驚いたことに、その返答には単なる確認以上の内容が含まれていて。
その電子メールに関連付けられたユーザーの詳細な PII が明らかになり。
さらに深く掘り下げてみることにし。

電子メール パラメーターを別の電子メール アドレスに変更すると、引き続き別のユーザーの機密情報を受信することになって。

詳細を解明する

登録したメールアドレスを使用した場合の応答は次のとおりで。

 

{ "loginType": 0,
"contactId": 1465101,
"productGroupContactId": 0,
"productGroupFirmId": 0,
"firmId": 0,
"firmName": null,
"contactTypeId": 0,
"email": "test@redacted.com",
"salt": "DN6WN3l-N_PWwjSBO6FkQZoCwUq6vHAf5L2Yb1IVTKc~",
"hash": "__-XKLoPoUk0jBtAgD0qgoI8Oskk9fVNRMR-qciNFYu81qIpVF87dxPy8tGFWitDvAHMo7Cgg5hvRG3AoZn1Mz4zt_qGCEJvM_-GpqpJ2CxR-Z3umxZMdsUS1kywQqL1LpcZhJJH-PcAP41N40aAFgIOE-UrFiKlEKcHIqfipTw~",
"allowContactTypeIds": [2253, 2254, 2309],
"contactGuid": "00000000–0000–0000–0000–000000000000" }

連絡先 ID、企業 ID、電子メール、さらには暗号化ハッシュとソルトの値を含むこの詳細レベルを見て、この脆弱性潜在的な深刻度を認識し。
これは単にメールを公開するだけではありませんでした。
それはさらに多くのものへの入り口で。

さらなる発見

探索中に、「term」パラメーターを使用してメールを検索できる別のエンドポイントを見つけ。

https://sub.redacted.com/widget/search/ContactsForFirmSales?productGroupId=6926&buyerFirmId=0&allowCoverageFromFirmTree=True&term=john 

このエンドポイントは、指定された用語を含む電子メール アドレスを明らかにし、不正アクセスの追加手段を提供し。

アカウント乗っ取り

ソルトとハッシュ値が公開されたことで、より重大な悪用の機会があることが分かり。

サインインリクエストでは認証にパスワードが使用されていないことに気付き。
それはメールにotpを送信するだけであり、ユーザーはそれをソルト、ハッシュ、および事前に値を開示するその他のパラメータと応答とともにログインに使用して。
アクセストークンを返し。

唯一欠けていたのは OTP 値で。
ただし、OTP リクエストにはレート制限がないことがわかり。
これにより、ブルートフォース攻撃への扉が開かれて。

レート制限がないことを利用して、Burp Intruder を使用して OTP を推測するブルート フォース攻撃を開始し。
リクエストごとに、正しい OTP の組み合わせが見つかるまで、考えられる OTP の組み合わせを繰り返し。

正しい OTP が検出されると、応答によって被害者のアクセス トークンが返されて。

これで、登録されているアカウントにログインできるようになり。


ほなほな。