ソース:
脆弱性:ATO、レートリミット
訳:
- まず、Web サイトでのパスワード リセットのプロセスを理解しましょう。
これは通常のプロセスで。
ユーザーは電子メールを入力し、次のようなリンクを電子メールで受け取り。
TARGET.COM/redirect?action=reset_password&lang=EN&code=CODEHERE注意すべき重要な点は、Web サイトが 1 つのパラメータ値「CODE」に完全に依存していることで。
このパラメータ値は推測可能ですが、時間がかかり。
次のステップに進みます。トークンの有効期限は切れますか?
知っておくべき重要な点は、パラメーター値は推測可能ですが、時間がかかるということで。
メールを開かずに 1 日放置しましたが、戻ってきて。
実際、トークンの有効期限は切れておらず、パスワードをリセットすることができて。
- しかし、ここで重要な点は、レート制限があるかどうかを確認することです。 ここで、トークンの総当たり攻撃を試み、パスワードを即座にリセットします。
試行後、残念ながらレート制限がありました)。
したがって、ここではトークンの有効期限が切れていないとしてバグを報告できますが、重大度は低くなります。
しかし、私はそこで止まりませんでした。 レート制限を回避するテクニックを見つけようとしました。
何度も試した結果、Web サイトが IP をブロックしているだけであることがわかりました。
写真に示すように、「IP ROTATE」と呼ばれるBurp拡張機能を使用して、これを回避することができました。
本質的には、AWS サーバーに接続し、リクエストごとに IP が変更されます。
トークンの有効期限が切れていないことがわかっていたため、パスワードをリセットすることができ、アカウント乗っ取りにつながりました。
ほなほな。