ソース:
脆弱性:BAC, 情報漏洩, IDOR
訳:
target.io というプログラムからプライベート招待状を受け取り。
それから偵察を開始し、いくつかの素晴らしいサブドメインを見つけ。
まず、すべてのサブドメインには、それを提供するための異なる API があると言いたいだけで。
login.target.io => api.target.io
login.dev-02.target.io => api.dev-02.target.io
login.staging.target.io は => api.staging.target.io を使用していました
モバイルアプリAPI (observatory.target.io)
などなど。
一つ一つチェックし始めたところ、登録フォームがないことに気づき。
このアプリケーションには企業アカウントからの招待が必要であることがわかり。
次に、JS ファイルに直接アクセスしてエンドポイントを見つけ、何か興味深いものがあるかどうかを確認しましたが、興味深いものは見つからなくて。
そこでログインページに戻ってログインリクエストを送信し、Burp で遊び始め。
ログインリクエストを試し始めて。
最初のリクエストはエンドポイント/api/users/loginに送信されて。
エンドポイントを /api/users/login から /api/users に変更した後。
さらに必要なパラメータを与えるいくつかのエラーが発生し、リクエストを正常に作成した後、「The 204 No Content」という応答を受け取り。
これは、アカウントが正常に作成されたことを意味して。
ログインした後は何も興味がありませんでしたが、認証トークンを取得し(後で使用します)。
そこで https://api.target.io の背後でファジングを開始し。
興味深いエンドポイントを 2 つ見つけて。
/swagger.json => このファイルにはすべての API エンドポイントが含まれています (これを Postman にインポートし、プロキシで実行してげっぷして調査を開始できます)
/metrics => これは、プラットフォーム上のすべてのユーザーの API リクエスト全体を漏洩していました
/metrics エンドポイントにアクセスした後。
2番目の写真を見ると、プラットフォーム上のすべてのユーザーのUUIDS全体(ロール:ユーザーを意味します)+エンドポイントで使用されているリクエストメソッドが漏洩しているエンドポイントに気づくことができ。
/api/users/<ランダム-UUID>
/api/users/<ランダム UUID>/status
/api/users/<ランダム-UUID>/profile
ここからBurpに戻り、このエンドポイントをすべてのUUIDでテストし。
電子メール、ユーザー名、group_id、およびすべてのユーザー向けの興味深い情報があり。
でもこれには、オンライン ユーザーの座標を持つ場所があり。
モバイルアプリAPIを調べ始めたところ、同じものを見つけ。
同じ情報開示とIDOR。
これを見つけた後、他のサブドメインに行って同じものを見つけましたが、1 つは管理者用、もう 1 つは開発者用、もう 1 つは企業用で。
結局、私は次のようになり。
5 情報開示
5 壊れたアクセス制御
5 IDOR のユーザー + 管理者 + 開発者 + 企業
ほなほな。