hacktricks/pentesting-web/rate-limit-bypass.md

5.9 KiB
Raw Blame History

レート制限回避


Trickestを使用して、世界で最も高度なコミュニティツールによって強化されたワークフローを簡単に構築および自動化します。
今すぐアクセスを取得:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

**ゼロからヒーローまでのAWSハッキングを学ぶ** htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法:

レート制限回避テクニック

類似エンドポイントの調査

対象のエンドポイントのバリエーションに対してブルートフォース攻撃を試みるべきです。たとえば、/api/v3/sign-upのようなターゲットエンドポイントの変種や/Sing-up/SignUp/singup/api/v1/sign-up/api/sign-upなどの代替案を含めて攻撃を行います。

コードやパラメータに空白文字を組み込む

コードやパラメータに%00%0d%0a%0d%0a%09%0C%20などの空白バイトを挿入することは有用な戦略となります。たとえば、パラメータをcode=1234%0aに調整することで、入力の変化を通じて試行を拡張することができます。メールアドレスに改行文字を追加することで試行の制限を回避することができます。

ヘッダーを介したIPの出所の操作

知覚されるIPの出所を変更するためにヘッダーを変更することは、IPベースのレート制限を回避するのに役立ちます。X-Originating-IPX-Forwarded-ForX-Remote-IPX-Remote-AddrX-Client-IPX-HostX-Forwared-Hostなどのヘッダーを調整して、異なるIPからのリクエストをシミュレートすることができます。

X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Forwared-Host: 127.0.0.1

# Double X-Forwarded-For header example
X-Forwarded-For:
X-Forwarded-For: 127.0.0.1

他のヘッダーの変更

ユーザーエージェントやクッキーなど、他のリクエストヘッダーを変更することが推奨されています。これらはリクエストのパターンを特定して追跡するために使用されることがあります。これらのヘッダーを変更することで、リクエスト元の活動を認識および追跡することを防ぐことができます。

API Gatewayの動作を活用

一部のAPIゲートウェイは、エンドポイントとパラメータの組み合わせに基づいてレート制限を適用するように構成されています。パラメータ値を変化させたり、リクエストに無関係なパラメータを追加することで、ゲートウェイのレート制限ロジックを回避し、各リクエストを一意に見せることが可能です。 例:/resetpwd?someparam=1

各試行前にアカウントにログインする

各試行前または一連の試行ごとにアカウントにログインすることで、レート制限カウンターをリセットすることができます。これは特にログイン機能をテストする際に役立ちます。Burp SuiteなどのツールでPitchfork攻撃を利用し、数回の試行ごとに資格情報を切り替え、リダイレクトをマークすることで、レート制限カウンターを効果的にリスタートできます。

プロキシネットワークの活用

複数のIPアドレスにリクエストを分散するためにプロキシネットワークを展開することで、IPベースのレート制限を効果的にバイパスすることができます。さまざまなプロキシを介してトラフィックをルーティングすることで、各リクエストが異なるソースから発信されたものとして見え、レート制限の効果を薄めることができます。

攻撃を異なるアカウントやセッションに分割する

対象システムがアカウントごとまたはセッションごとにレート制限を適用している場合、攻撃やテストを複数のアカウントやセッションに分散させることで検出を回避できます。このアプローチでは、複数のアイデンティティやセッショントークンを管理する必要がありますが、許容可能な制限内に留まるために負荷を分散するのに効果的です。