
[EQSTLab](https://github.com/EQSTLab) をベースにしています
この脆弱性を発見した physicszq に感謝します。
★ CVE-2024-46538 PfSense 保存型XSSによる任意コード実行 PoC ★
CVE-2024-46538 : PfSense 保存型XSS脆弱性
説明: pfsense v2.5.2 のクロスサイトスクリプティング(XSS)脆弱性により、攻撃者は interfaces_groups_edit.php の $pconfig 変数に仕込まれた巧妙なペイロードを介して、任意のWebスクリプトまたはHTMLを実行することができます。
脆弱バージョン(v2.5.2)をダウンロード:
/src/usr/local/www/interfaces_groups_edit.php
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は任意のコード実行につながる可能性があります。
ユーザー(権限: WebCfg - Interfaces: Groups: Edit) --(悪意のあるJavaScriptコードを保存)--> 管理者(コード実行権限あり) --(interfaces_groups.php を読む)--> JavaScriptコード実行 --> コード実行
このリポジトリは、CVE-2024-46538 に対するXSSエクスプロイトを意図したものではありません。このプロジェクトの目的は、この脆弱性について学び、自身のアプリケーションをテストする手助けをすることです。