
Bacula-Webのjobfilesエンドポイントにおける時間ベースのブラインドSQLインジェクションの概念実証エクスプロイトで、pg_sleep()遅延を使用してPostgreSQLバージョンをリモートで抽出します。
脆弱性タイトル: Bacula-Web における時間ベースのブラインドSQLインジェクション
プロダクト: Bacula-Web
影響を受けるバージョン: PostgreSQL バックエンドをサポートするバージョンで確認済み
CVE ID: CVE-2025-45346
深刻度: 高
攻撃ベクトル: リモート
影響: 任意のSQL実行、情報漏洩
この概念実証 (PoC) は、Bacula-Web の jobfiles エンドポイントにおける 時間ベースのブラインドSQLインジェクション 脆弱性を示しています。
リモートの攻撃者は、この欠陥を利用して、pg_sleep() 関数を使用して意図的な遅延を引き起こすことで、基盤となる PostgreSQL データベースから情報(データベースバージョンを含む)を抽出できます。
requests ライブラリ (pip install requests)スクリプトを編集して設定:
base_url = "http://baculaweb.domain/jobfiles/29/1/"
cookies = {"Bacula-Web": "REPLACEME"}
置き換え:
base_url をターゲットの Bacula-Web URL にREPLACEME を有効な Bacula-Web セッションクッキーにpython3 extract_pgsql_version.py
pg_sleep(2) を含む無害なSQLペイロードを送信。SUBSTRING() を使用して PostgreSQL バージョン文字列の位置をループし、文字を1つずつ比較。jobfiles ルートに入力検証を適用セキュリティ研究者 – Kevin Suckiel -- 0xsu3ks
CVE-2025-45346 のPoCは責任ある開示を通じて公開されました。
このツールは許可されたテストおよび研究目的のみで提供されます。
作者は、このPoCの不正使用または誤用について一切の責任を負いません。