Shikata Ga Nai

Private? There is no such things.

$500 For No Rate Limit On Forgot Password Pageを訳してみた

Hello there, ('ω')ノ

 

パスワードを忘れた場合のレート制限なしで500ドルを。

 

脆弱性:

 

記事:

 https://bugbountyhunter.medium.com/500-for-no-rate-limit-on-forgot-password-page-d534d1d750db

 

レート制限について:

レート制限アルゴリズムは、セッションキャッシュ内の情報に基づいて。

ユーザセッション(またはIPアドレス)を制限する必要があるかどうかを。

確認するために使用されて。

クライアントが特定の時間枠内にあまりにも多くのリクエストを行った場合は。

HTTPサーバは、status code 429: Too Many Requestsで応答できて。


問題を再現する手順:

ステップ1:

 www.example.comに移動して。

 メールアドレスを入力パスワードを忘れるをクリックして。

 

ステップ2:

 リクエストで自分の番号が見つかるまで。

 このリクエストをBurp Suiteでインターセプトして転送して。

 (「email」:ここに自分のemail」


POST /api/v1/users/password/remind HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://example.com/lost-password
Content-Type: application/json
X-CSRF-TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Origin: https://example.com
Content-Length: 33
Connection: close
Cookie: __cfduid=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(“email”;”your email here”)

 

ステップ3:

 Intruderにこのリクエストを送信し、効果のないリクエストを修正して。

 100回繰り返して。

  Accept-Language: en-US,en;q=0.$5$

 

ステップ4:

 受信トレイに200okのステータスコードと100以上のメールが届くのを。

 確認して。

 ビジネスへの影響に悪影響を与えるユーザへの大量メール送信または。

 電子メール爆撃につながることを確認して。

 

Best regards, (^^ゞ