Hello there, ('ω')ノ
🔁 リミットオーバーラン攻撃の代表例
リミットオーバーランとは、「本来1回しか使えない機能を、システムの一時的な処理の隙をついて何度も使ってしまう」攻撃です。以下のようなパターンが存在します:
1. 🎁 ギフトカードの複数回利用
- 同じギフトカードコードを、短時間に複数リクエストで送信して複数回使用。
- 例:1000円分のギフトカードを何度も使い、商品を複数購入。
2. 🌟 商品のレビュー評価を繰り返し投稿
- 1人1回の評価制限を無視して、競合状態を使い何度も評価を送る。
- 高評価スパムやレビュー操作に悪用される。
3. 💸 残高以上の現金引き出しや送金
- 残高確認と送金処理の間の隙を突いて、口座残高を超える額を送金。
- 電子マネー、オンラインバンキングなどで深刻な被害に。
4. 🔐 CAPTCHA の使い回し
- 1度正解した CAPTCHA を、複数のリクエストで同時に送信。
- bot対策の無力化につながる。
5. 🚫 ブルートフォース対策の回避
- アカウントロック前に複数のログイン試行を並行して送信。
- 本来の制限(例:5回まで)を無視して何十回も試行可能に。
🕒 TOCTOU(Time Of Check to Time Of Use)とは?
リミットオーバーランは、TOCTOU脆弱性の一種です。
✅ チェック → 🛠 利用 の間にレースウィンドウが存在
- Time Of Check:入力や状態の確認を行う瞬間(例:割引コードの未使用確認)。
- Time Of Use:その結果を使って処理する瞬間(例:割引を適用)。
この2つのタイミングの間に状態が変わると、意図しない動作を引き起こすというのがTOCTOUの本質です。
🧠 ペネトレーションテストのコツ
- 短時間で並列リクエストを送る方法を使いましょう(Burp Intruder、Turbo Intruder、スクリプトなど)。
- 「チェックと処理」の間に何が起こるかを意識して観察。
- 一度成功したら、再現性のあるテストケースを作成して他の機能にも応用。
Best regards, (^^ゞ