Bypass Panel via API Fuzzing Led To Access to All Users Information から学ぶ

ソース:

medium.com

脆弱性API

 

訳:

テスト中に、user_id とパスワードを要求するログイン パネルに遭遇し。

 

User_ID(121212)とパスワード(テスト)を入力しました。ログインしようとすると、応答は次のとおりで。 

 

{"timestamp":"2024–03–15T08:22:36.064","errorCode":"AuthenticationFail","message":"Username not found : 121212","path":"/api/v1/authentications/signin"}

 

結果 (「ユーザー名が見つかりません」) は、ユーザー名の列挙に問題があることを示していますが、この問題だけに留まるわけにはいきません:)。
API_EndPoint を取得し、エンドポイントのファジングを開始し。

URLをファジングするとこのようにロックされ。

 

Methods :

  1. Get
  2. Post

Tools you can use to perform fuzzing:

  1. wfuzz
  2. dirsearch(what i like)
  3. ffuf(advanced fuzzing , brute forcing)
  4. dirb
  5. dirbuster

次のエンドポイントを見つけました。

 

/api/v1/clients
/api/v1/agents
/api/v1/reservations-with-date
/api/v1/users

 

API_End Point にカール リクエストを送信しようとしましたが、パネルで直接アクションを実行せずにすべての情報を取得し。
これらのエンドポイントに承認が実装されていないことが明らかに。 

 

すべての予約日、accounts_id、メンバー数を取得する

 

curl -sk "https://Site/api/v1/reservations-with-date"

 

Response

 

 

 

ほなほな。