Hello there, ('ω')ノ
🎯 ラボの目的
このラボでは、商品と店舗IDを使った在庫確認機能にOSコマンドインジェクションの脆弱性があります。
この脆弱性を利用して、whoami
コマンドを実行し、サーバー上の実行ユーザー名を表示させることでラボをクリアします。
🛠 攻略手順(わかりやすく解説)
1. 在庫確認ページを使う
アプリの「Check stock」機能を使って、任意の商品ID・店舗IDを選んで送信します。
2. Burp Suiteでリクエストをキャプチャ
Proxy > HTTP history
に移動し、該当リクエスト(/product/stock
のようなエンドポイント)を探します。- リクエスト内の
storeID=1
のようなパラメータを見つけます。
3. storeID にコマンドを注入
例:
storeID=1|whoami
|
は パイプ演算子で、前のコマンドの出力を次のコマンドに渡すこともできますが、- この例では、前のコマンドが失敗しても
whoami
が実行されることが狙いです。
4. 実行結果を確認
レスポンス本文に whoami
の出力(例:www-data
や apache
などのユーザー名)が含まれていれば成功!
✅ 攻略のポイント
項目 | 解説 |
---|---|
💣 脆弱性 | 入力値をOSコマンドの引数として直接結合している |
🧪 成功確認方法 | echo 任意文字列 や whoami を使って出力確認 |
🎯 目的 | 任意のOSコマンドが実行されることを証明する |
🧠 応用テクニック
& whoami &
や; whoami
なども試せます(サーバーのシェル設定次第で使えるセパレータが変わります)。cat /etc/passwd
やls /
など、ファイル閲覧やディレクトリ調査にも応用可能です。
Best regards, (^^ゞ