abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · pfsense-https-host-redirect
类别: 开放重定向 可达性: 远程
pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org
system.inc 会生成一个监听 80 端口的 server{},其中包含 return 301 https://$http_host$redirectport$request_uri;,且没有 server_name。nginx 在 php-fpm 之前返回 301,因此 auth.inc 的 DNS 重绑定永远不会执行。
| ID | 暂无 CVE |
| 类别 | 开放重定向 |
| 可达性 | 远程(除非另有说明,否则为已认证的 WebGUI) |
| CWE | CWE-601 |
| CVSS | 中危:4.7 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N |
| 产品 | pfSense CE |
| 受影响版本 | 2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) |
| 认证 | 具有 unauth client that can hit the WebGUI HTTP listener 的 WebGUI 会话 |
| 许可证 | GNU Affero GPL v3.0 |
| 实验环境 | 仅 127.0.0.1 |
我固定了公共 master 分支 9363ac5。该实验环境是针对固定代码行的 PHP gadget,在 127.0.0.1:19210 上提供回环 HTTP。
系列文章:https://abraxaslabs.tech/research/pfsense-ce-leftovers
| 方法 | 汇聚点 | 权限 |
|---|---|---|
| 未认证 GET / 于 TCP/80,携带恶意 Host | nginx return 301 https://$http_host... | 完整性: 无。 |
| 同一遗留问题 | 同一汇聚点 | 侦察: 实验环境已证实:Host evil.example 变为 Location https://evil.example/index.php。PHP DNS 重绑定 501 在此 301 上不会执行。 |
| 同一遗留问题 | 同一汇聚点 | 可用性: 未显示。 |
要求: unauth client that can hit the WebGUI HTTP listener。除非另有说明,POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。
要求: unauth client that can hit the WebGUI HTTP listener。除非另有说明,POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。除非另有说明,POST 上启用 CSRF-magic。WebGUI PHP-FPM 以 root 运行。
HTTPS GUI 本身的 PHP DNS 重绑定。
除非该页面也被授予权限,否则没有 Diagnostics: Command。
cd lab
./run.sh
回环 127.0.0.1:19210。Compose 项目 pfsense-https-host-redirect。见证 PFSENSE-HTTPS-HOST-REDIRECT-WITNESS。仅回环:127.0.0.1:19210。Compose 项目 pfsense-https-host-redirect。见证 PFSENSE-HTTPS-HOST-REDIRECT-WITNESS。固定代码行的 PHP gadget。运行结束后栈会被拆除。
最后一行:
SUCCESS PFSENSE-HTTPS-HOST-REDIRECT control-localhost=yes trigger-evil=yes php-rebind-skips-301=yes PFSENSE-HTTPS-HOST-REDIRECT-WITNESS
使用已配置的主机名,或使用 $host(白名单),而不是 $http_host。
9363ac5b8651a1c7a333180425ce7719070f95f9