Hello there, ('ω')ノ
単純な IDOR がインドの自動車大手の何千もの顧客のデータに与える影響を。
脆弱性:
アカウント乗っ取り
情報漏えい
IDOR
記事:
今回は、実稼働ベースの Android アプリケーションをテストしていて。
テスト対象のアプリケーションは、EV 企業に関連していて。
アプリについての簡単な説明:
アプリは XYZ で、EV ユーザが充電ステーションを見つけて施設の料金を
支払うために使用するアプリで。
壊れたアクセス制御:
テストを開始すると、最初の 1 分で認証が壊れていることがわかり。
登録時とパスワードのリセット時に送信された OTP は、
事前に応答で提供されていて。
これは後で非常に重要な役割を果たし。
レスポンスにOTPを開示
間接オブジェクト参照:
アプリは、アプリを介して充電ステーションで支払うために
特別に開発されたもので。
そのため、EV 充電ステーションでの支払い用に 2 つのウォレットを統合し。
1 つは PayTm ウォレットで、もう 1 つはアプリケーションの組み込みウォレットで。
そのため、ユーザがウォレットにチャージするたびに、
そのトランザクションの請求書が作成され。
請求書のダウンロードを担当するリクエストには、
IDOR に対して脆弱な InvoiceNo パラメータが含まれていて。
請求書ダウンロード時の IDOR
上記のリクエストを調べて、invoiceNo を別のテスト アカウントの
別の invoiceNo に変更すると、有効な応答が得られ、請求書をダウンロードできて。
ダウンロードした請求書の画像
請求書には、名前、GST 番号、住所、携帯電話番号、顧客 ID、取引の詳細などの
詳細が記載されていて。
上記の調査結果を連鎖させる:
デモンストレーションのために、2 人のユーザ Test1 と Test2 を作成し。
Test1 は攻撃者で、Test2 は通常の顧客で。
・Test1 を使用してログインし、 Test2 の InvoiceNo を列挙し。
・その後、 Test2 に属する請求書を列挙すると、そこから mobileNo であることが
わかり。
・ログイン ページに戻り、Test2 としてログインするために、mobileNo を入力し、
パスワードを忘れたオプションをクリックしてパスワードをリセットし。
・応答で OTP を取得しており、アプリケーションは応答の操作に対して
脆弱であったため、Test2 のパスワードを同意なしに、
また知らないうちに変更することができて。
・そして、Test2 側では、パスワードが変更され、アカウントが侵害されたという
事実にまったく気づいておらず。
その他の調査結果:
このアプリには、上記の 2 つの重大な脆弱性があるだけでなく、
応答操作、複数のボット アカウントの作成に悪用される可能性のある電話番号の
適切な検証がないこと、資格情報のクリア テキスト送信、
レート制限がないことなど、他の深刻な脆弱性があり。
より多くのそのような脆弱性。
ノート:
25,000 人以上のお客様から請求書を受け取ることができて。
列挙された請求書
結論 :
これらすべての脆弱性を関連付けると、その影響は大きくなり。
それは会社と顧客の両方に影響を与えて。
アプリを安全にするために厳格なセキュリティ ポリシーが実装されていないため、
これは顧客の金銭的損失やアプリの性質を損なうことに
さらにエスカレートする可能性があって。
Best regards, (^^ゞ