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, (^^ゞ