Shikata Ga Nai

Private? There is no such things.

Rate Limit Bypassing Allowing Identity Spoofingを訳してみた

Hello there, ('ω')ノ

 

IDスプーフィングを許可するレート制限バイパス

 

脆弱性:

 レート制限バイパス

 OTPバイパス

 

記事:

 https://0xt4144t.medium.com/rate-limit-bypassing-allowing-identity-spoofing-789b2fe2efa8

 

ツール:

 Burp Suite

 

HackerOneでプログラムを探しているときに。

アプリケーションの認証済みリクエストの調査を開始するために。

アカウントを登録する必要があって。

自分の電話番号で登録しようとしましたが。

特定の国の電話番号しか受け付けないため、自分の電話番号を使用できず。

電話番号とアカウントを取得するためだけに。

この時点から攻撃を開始する必要があって。

 

コントロール:

アカウントを登録するために、アプリケーションは登録された電話番号に。

SMSを送信して、検証機能に3つの制御を強制して。

 

1.1分あたり60リクエストのみを許可するレート制限制御。

2.レート制限を超えると、IPと電話はしばらくの間ブロックされて。

3.6桁の数字は、ブルートフォースをより困難にして。

 

f:id:ThisIsOne:20211015131401p:plain

 

そのため、許可される試行回数を増やして。

OTP値をユーザの電話に送信するために適用されるレート制限を。

バイパスすることに。

 

バイパス:

レート制限は、ブルートフォース、リソース枯渇攻撃や。

DDOS(分散型サービス拒否)などの攻撃を軽減するために。

API開発者によって設定されるAPIコントロールで。

ログイン、パスワードのリセット、アカウント検証、2要素認証、または。

メッセージやメールを送信するその他の機能などの認証機能を保護するために。

よく使用されて。

レスポンスからレート制限は、1分あたり60リクエストにのみ適用されて。

 X-RateLimit-Limit: 60

 

f:id:ThisIsOne:20211015131335p:plain

 

バイパスするために試行されたさまざまな手法:

 

1.リクエストヘッダの値の一部をuser-agent、新しいCookieの取得や。

 送信元IPアドレスの変更などの異なる値に変更しますがうまくいかず。

2.次に、下記の値で新しいヘッダを追加してリクエストを送信すると。

  X-Forwarded-For:127.0.0.1

 

 応答により、許可される試行の数が1分あたり。

 60から6000に増加することが示されて。

  X-RateLimit-Limit: 6000

 

この設定ミスは、おそらくローカルホストからのテスト目的のためで。

 

f:id:ThisIsOne:20211015131443p:plain

 

結果:

これにより、ユーザがまだ登録されていない場合は。

電話番号を使用してブルートフォースOTP値となりすましIDを使用できて。

 

Best regards, (^^ゞ