Shikata Ga Nai

Private? There is no such things.

LAB: パストラバーサル脆弱性(基本編) `/etc/passwd` の読み取り

Hello there, ('ω')ノ

🧪 ラボの目的

このラボでは、商品画像を表示する機能に存在するパストラバーサルの脆弱性を悪用して、サーバー上の /etc/passwd ファイルの中身を取得することが目標です。


🛠 攻略手順

1. 画像読み込みのリクエストを特定

  • 商品一覧ページなどで画像が読み込まれる通信を確認
  • 例:
  GET /image?filename=15.jpg

2. Burp Suiteで該当リクエストをインターセプト

  • 「Proxy」→「HTTP history」で上記リクエストを見つけて右クリック → 「Send to Repeater」

3. パスを書き換えて /etc/passwd を指定

  • リクエストのパラメータを以下のように変更:
  GET /image?filename=../../../etc/passwd HTTP/1.1

4. 送信し、レスポンスを確認

  • レスポンス本文に次のような内容が含まれていれば成功:
  root:x:0:0:root:/root:/bin/bash
  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  ...

✅ 攻撃成功のポイント

  • ../ を使って /var/www/images//etc/ までディレクトリをさかのぼる
  • 多くのLinux系OSで /etc/passwd は読み取り可能で、ユーザー名などの情報が取得できる

💡 参考

観点 内容
✅ 成功の指標 /etc/passwd に含まれる「root:」「bash」などのキーワードが確認できること
⚠️ 注意点 一部環境では Web アプリが「/etc/passwd」への読み取りを制限していることもあります(このラボでは許可されています)

Best regards, (^^ゞ