Hello there, ('ω')ノ
🎯 ラボの目的
「商品価格がクライアント制御に依存しており、サーバーで正しく検証されていない」という脆弱性を突いて 高額な「Lightweight l33t leather jacket」を不正に安く購入します。
🛠 攻略手順(Burpを使って値を改ざん)
1. ログインして商品ページへ
- ユーザー:
wiener:peter - 高額商品(l33t leather jacket)を選ぶ
- クレジット不足で購入できない状態を確認
2. Burp Suiteで通信をキャプチャ
Proxy > HTTP historyにて「Add to cart」のPOSTリクエストを確認POST /cartリクエストにproductIdやpriceパラメータが含まれているのを発見
3. price パラメータを書き換える
- リクエストを Repeater に送信
price=1337→price=1のように書き換えて送信- サーバーがそのまま受け入れることを確認
4. カートを確認 → 支払い処理
- ブラウザでカートページを更新
- 価格が改ざんされた状態で表示されていることを確認
- 購入処理を完了させて ラボクリア!
✅ 攻略ポイントまとめ
| ポイント | 内容 |
|---|---|
| 💣 脆弱性 | 価格がクライアント入力に依存しており、サーバー側で再計算・検証していない |
| 🔥 成功の鍵 | Burpでpriceパラメータを任意に改ざんできる |
| 🎯 攻撃効果 | 高額商品を1ドルで購入できてしまう |
🧠 学び
- 価格や権限などの重要な値は、絶対にサーバー側で決定・検証すべき
- クライアント側のJavaScriptやHTMLに頼った制御は、簡単に無視される
Best regards, (^^ゞ