以下の内容はhttps://cysec148.hatenablog.com/entry/2025/08/30/062926より取得しました。


【有料試作版】Lab: Insecure direct object references に対する脆弱性報告レポート

Hello there, ('ω')ノ

🛠 脆弱性報告レポート

タイトル: Insecure Direct Object Reference によるチャットログからのパスワード漏洩


✅ 概要(Summary)

チャットログ閲覧機能が 連番ファイル名を直接指定できる静的 URL で管理されており、他ユーザのトランスクリプトにアクセス可能。これによりユーザ carlos のパスワードを入手し、アカウントへ不正ログインが可能。


🔁 再現手順(Steps)

  1. https://<LAB-ID>.web-security-academy.net にアクセス
  2. 「Live chat」から任意のメッセージ送信後「View transcript」をクリック
  3. /download-transcript/2.txt のような URL が表示される
  4. Burp でリクエストをキャプチャし、filename パラメータを 1.txt に変更して再送
  5. レスポンス内にユーザ carlos の認証情報(平文パスワード)が含まれる
  6. /login 画面で carlos のアカウントにログイン → 成功

📸 結果(Result)

  • アクセスした URL:
  GET /download-transcript/1.txt HTTP/1.1
  Host: <LAB-ID>.web-security-academy.net
  • レスポンス例:
  [Support] Hi carlos, your temporary password is: s3cr3t-p@ss
  • 不正利用結果: carlos アカウントにログイン成功

🧾 期待挙動(Expected)

チャットログは アクセス制御(認証済みユーザのみ、本人のログのみ) が必要であり、他ユーザ ID や連番指定で取得できてはならない。


⚠ 影響度(Impact)

  • 水平権限昇格:他ユーザのログや認証情報への不正アクセス
  • 機密情報漏洩:パスワード・個人情報の流出
  • 業務影響:不正ログイン・アカウント乗っ取り・顧客信用失墜
  • OWASP A01:2021 Broken Access Control
  • CWE-639 Authorization Bypass Through User-Controlled Key

🛠 修正提案(Optional)

  1. アクセス制御の実装:ログインユーザ ID とチャットファイルを厳密に紐づける
  2. 推測困難な識別子の利用UUID などのランダムトークンをファイル名に採用
  3. 保存形式改善:ファイルシステム直置きではなく、DB や認証ゲート付き API を介して配布
  4. 監査ログ強化:不審なファイルアクセスを検知・通知する仕組みを追加

🧩 PoC 添付物

  • Screenshot 1: /download-transcript/2.txt/download-transcript/1.txt の比較表示
  • PoC-request.diff:
  - GET /download-transcript/2.txt
  + GET /download-transcript/1.txt

🔁 修正後の Retest

修正通知後、/download-transcript/1.txt へ直接アクセスした際に 403 Forbidden またはリダイレクトが返ることを確認。

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/08/30/062926より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14