abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-cp-filename-xss
类别: XSS 可达性: 远程
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
文件名在默认登录 HTML 中被插入到 / CSS url(...) 中,且未进行编码。门户源与 GUI 源不同。SA-26_05 是 GUI 组件。
| ID | 暂无 CVE |
| 类别 | XSS |
| 可达性 | 远程(除非另有说明,否则为已认证 WebGUI) |
| CWE | CWE-79 |
| CVSS | 中危:6.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| 产品 | pfSense CE |
| 受影响版本 | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| 认证 | 具有 plant with page-services-captiveportal-filemanager; victim is an unauth portal client 的 WebGUI 会话 |
| 许可证 | GNU Affero GPL v3.0 |
| 实验环境 | 仅 127.0.0.1 |
我固定了公共 master 9363ac5。该实验环境是固定接收点的 PHP gadget,在 127.0.0.1:19110 上使用回环 HTTP。
系列文章:https://abraxaslabs.tech/research/pfsense-ce-leftovers
| 方法 | 接收点 | 权限 |
|---|---|---|
| POST 文件管理器名称,然后未认证 GET 门户登录 HTML | get_default_captive_portal_html img src={$logo_src} | 完整性: 推断:门户登录页面上的脚本可以读取该页面上的 auth_user / auth_pass。 |
| 同一遗留问题 | 同一接收点 | 侦察: 实验环境已证实:未认证门户 HTML 中存在原始 onerror= 以及见证字符串。GUI 列表 htmlspecialchars 对同一名称进行了编码。 |
| 同一遗留问题 | 同一接收点 | 可用性: 未显示。 |
需要: plant with page-services-captiveportal-filemanager; victim is an unauth portal client。除非另有说明,否则 POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。
需要: plant with page-services-captiveportal-filemanager; victim is an unauth portal client。除非另有说明,否则 POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。除非另有说明,否则 POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。
GUI cookie。文件管理器列表编码。SA-26_05 组件。
除非该页面也被授予权限,否则没有 Diagnostics: Command。
cd lab
./run.sh
回环 127.0.0.1:19110。Compose 项目 pfsense-cp-filename-xss。见证字符串 PFSENSE-CP-FILENAME-XSS-WITNESS。仅回环:127.0.0.1:19110。Compose 项目 pfsense-cp-filename-xss。见证字符串 PFSENSE-CP-FILENAME-XSS-WITNESS。固定行的 PHP gadget。运行后堆栈会拆除。
最后一行:
SUCCESS PFSENSE-CP-FILENAME-XSS control-inert=yes trigger-raw=yes witness-unescaped=yes gui-cookie-theft=no PFSENSE-CP-FILENAME-XSS-WITNESS
在门户 HTML 中对文件名使用 htmlspecialchars。限制上传字符集。
9363ac5b8651a1c7a333180425ce7719070f95f9