Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pfsense-voucher-expire-sqli — pfSense CE 2.9.0-DEVELOPMENT - 中程度 - リモート - SQLi - voucher_expire WHERE | Kitploit
ツール/GitHubGitHub/abraxas/pfsense-voucher-expire-sqli
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテストラボと実践
GitHubabraxas/pfsense-voucher-expire-sqli

pfsense-voucher-expire-sqli

pfSense CE 2.9.0-DEVELOPMENT - 中程度 - リモート - SQLi - voucher_expire WHERE

リポジトリを見る
124日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Abraxas Labs - pfsense-voucher-expire-sqli

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-voucher-expire-sqli

pfsense-voucher-expire-sqli

Class: SQLi Reach: Remote

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

voucher.inc captiveportal_read_db("WHERE username = '{$voucher}'") その後、先頭行の sessionid を captiveportal_remove_entries へ。未認証ログインの INSERT は SQLite3::escapeString を使用。

IDCVE 未採番
ClassSQLi
ReachRemote (特記なき限り認証済み WebGUI)
CWECWE-89
CVSSMedium: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
ProductpfSense CE
Affected2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
Authpage-status-captiveportal-expire / page-services-captiveportal-vouchers を持つ WebGUI セッション
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 のみ

公開 master 9363ac5 を固定した。ラボは固定したシンクの PHP ガジェットで、127.0.0.1:19280 のループバック HTTP。

シリーズ解説: https://abraxaslabs.tech/research/pfsense-ce-leftovers

攻撃者ができること

MethodSinkPrivilege
POST voucher expire tokencaptiveportal_read_db WHERE username = '{$voucher}'Integrity: ラボ実証: UNION が別の sessionid を選択し、stacked-UPDATE がその行を書き換えた。CONTROL expire は A のみを削除。未認証ログインパスはエスケープされたまま。
同じ残存箇所同じシンクRecon: 推測: UNION は captiveportal{zone}.db から他のセッション列を読み取れる。
同じ残存箇所同じシンクAvailability: ラボ実証: 注入された先頭行の切断。そのゾーン DB 上の別セッションを削除/書き換え可能。

Requires: page-status-captiveportal-expire / page-services-captiveportal-vouchers。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。

Requires: page-status-captiveportal-expire / page-services-captiveportal-vouchers。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。特記なき限り POST に CSRF-magic。WebGUI PHP-FPM は root。

閉じたままの隣接面

未認証ログインのエスケープ。voucher_auth は依然 escapeshellarg。シェルなし。他ゾーン DB なし。GUI cookie なし。

そのページも許可されていない限り Diagnostics: Command なし。

Lab

cd lab
./run.sh

ループバック 127.0.0.1:19280。Compose プロジェクト pfsense-voucher-expire-sqli。Witness PFSENSE-VOUCHER-EXPIRE-SQLI-WITNESS。ループバックのみ: 127.0.0.1:19280。Compose プロジェクト pfsense-voucher-expire-sqli。Witness PFSENSE-VOUCHER-EXPIRE-SQLI-WITNESS。固定した行の PHP ガジェット。実行後にスタックは破棄される。

最終行:

SUCCESS PFSENSE-VOUCHER-EXPIRE-SQLI control-expire-only-a=yes control-login-escaped=yes trigger-rewrite-b=yes PFSENSE-VOUCHER-EXPIRE-SQLI-WITNESS

修正

パラメータをバインドする。voucher を SQL へ連結するのをやめる。

参考

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-89
  • シリーズ: https://abraxaslabs.tech/research/pfsense-ce-leftovers
ツールをダウンロード