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


LAB: バージョン管理履歴からの情報漏えいを利用した攻撃

Hello there, ('ω')ノ

🎯 ゴール

  1. .git ディレクトリからバージョン履歴を取得
  2. 過去コミットの差分から管理者パスワードを特定
  3. 管理者でログインして carlos を削除

手順

Step 1: .git ディレクトリの存在を確認

ブラウザでアクセス:

https://<ラボID>.web-security-academy.net/.git/

中身が表示されたら、外部から履歴情報が取得可能です。


Step 2: .git ディレクトリを丸ごとダウンロード

Linuxの場合:

wget -r https://<ラボID>.web-security-academy.net/.git/

Windowsの場合は Git Bash や Cygwin、WSL を利用。


Step 3: 履歴を解析

ダウンロードしたディレクトリに移動:

cd <ラボID>.web-security-academy.net/.git

リポジトリのログを確認:

git log

すると、例えば次のようなコミットが見つかります:

commit xxxxxxx
Author: dev@example.com
Date: ...
Remove admin password from config

Step 4: 過去の差分を表示

該当コミットの差分を確認:

git show xxxxxxx

admin.conf の変更前に、環境変数化される前の 平文パスワード が残っているはずです。

例:

- admin_password=SuperSecretPass123
+ admin_password=${ADMIN_PASSWORD}

Step 5: 管理者ログイン

  1. ラボの /login ページへアクセス
  2. ユーザー名:administrator パスワード:先ほど見つけた漏えいパスワード
  3. ログイン成功後、/admin へ進む

Step 6: carlos を削除

管理者パネルでユーザー carlos を選び、「Delete」ボタンを押してラボクリア。


✅ 学べるポイント

  • Git履歴は過去の秘密情報が残り続ける → パスワードを消しても過去コミットには残る
  • .git を本番環境に置くことは非常に危険
  • 攻撃者は git loggit show を使って容易に機密情報を発見できる

Best regards, (^^ゞ




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

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