「Information disclosure via api misconfiguration」からBroken Access Controlを学ぶ

ソース:

https://infosecwriteups.com/information-disclosure-via-api-misconfiguration-c05ed327f9d2

 

脆弱性:Broken Access Control, API

 

訳:

シナリオ:

Web アプリケーションは車やバスを販売する Web アプリケーションであり、そこには仕事関連のものもあり。
ファイルアップロードXSSを試みましたが、何も動作しませんでした。
id.target.comに移動すると、ファイルをアップロードできるプロファイルタイプの機能があり、ログインログ、私のIPアドレス、誰がどのIPを介して私のアカウントにログインしたかが記録されていて。
XSSで再試行しましたが、何も機能しませんでした
ファイルアップロードの脆弱性を。

 

その後、諦めてターゲットを変更する必要があると思いましたが、id.target.comには、IPアドレスや名前などの個人情報を取得するAPIエンドポイントがあり。
そのとき、ここでファジングする必要があると思い。
その後、ファジングを試してみて。
これが認証されたエンドポイントであることに気づきました。
何かジューシーな情報を見つけることができるように、クッキーでファジングする必要があり。
そして、このようにファジングを開始します、ffuf -u https://id.target
. com/api/FUZZ が表示され、 -w wordlist -c COOKIE_HERE しばらくすると、 https://id.target.com/api/workが見つかり、このAPI エンドポイントに何らかの設定ミスがあり、そこにある位置のように会社の従業員データが漏洩しているのではないかと推測し。
会社の仕事の説明、プロフィール写真、その時はこれは単なる基本的な情報か誰かの個人情報だと思っていましたが、リピータータブに送信すると間違っていて、そのリクエストを何度も何度も送信すると、毎回新しい従業員のデータが提供され。

 

 

再現手順 :

  1. 資格情報を使用して id.target.com ログインに移動します。
  2. 次のようなリクエストが表示されるまで、burp suite を開いてリクエストを転送します。
     GET /api/personal HTTP 1.1
HOST: id.target.com
Cookie : JWT TOKEN
Accept: application/json

       3. 「personal」を削除して「work」を追加するだけで、その魔法がわかります。

 

 

ほなほな。