Shikata Ga Nai

Private? There is no such things.

LAB: クライアント側制御への過信による価格改ざん

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 リクエストに productIdprice パラメータが含まれているのを発見

3. price パラメータを書き換える

  • リクエストを Repeater に送信
  • price=1337price=1 のように書き換えて送信
  • サーバーがそのまま受け入れることを確認

4. カートを確認 → 支払い処理

  • ブラウザでカートページを更新
  • 価格が改ざんされた状態で表示されていることを確認
  • 購入処理を完了させて ラボクリア!

✅ 攻略ポイントまとめ

ポイント 内容
💣 脆弱性 価格がクライアント入力に依存しており、サーバー側で再計算・検証していない
🔥 成功の鍵 Burpでpriceパラメータを任意に改ざんできる
🎯 攻撃効果 高額商品を1ドルで購入できてしまう

🧠 学び

  • 価格や権限などの重要な値は、絶対にサーバー側で決定・検証すべき
  • クライアント側のJavaScriptやHTMLに頼った制御は、簡単に無視される

Best regards, (^^ゞ