Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pfsense-timezone-phpini — pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - timezone php.ini prepend | Kitploit
工具/GitHubGitHub/abraxas/pfsense-timezone-phpini
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试远程访问工具Payload 开发实验室与实践
GitHubabraxas/pfsense-timezone-phpini

pfsense-timezone-phpini

pfSense CE 2.9.0-DEVELOPMENT - 高危 - 远程 - RCE - timezone php.ini prepend

查看仓库
85天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs - pfsense-timezone-phpini

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-timezone-phpini

pfsense-timezone-phpini

类别: RCE 可达性: 远程

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

system.php 写入 $_POST['timezone'] 时未针对 system_get_timezone_list() 进行 in_array 校验。is_timezone() 仅拒绝末尾斜杠。system_timezone_configure 写入 /var/db/zoneinfo。rc.php_ini_setup 将 date.timezone="${TIMEZONE}" 插值到 php.ini 中。引号加换行符可添加 auto_prepend_file。

ID暂无 CVE
类别RCE
可达性远程(除非另有说明,需已认证 WebGUI)
CWECWE-94
CVSS高危:8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
产品pfSense CE
受影响版本2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
认证具有 page-system-generalsetup 权限的 WebGUI 会话
许可证GNU Affero GPL v3.0
实验环境仅限 127.0.0.1

我固定了公共 master 分支 9363ac5。实验环境是固定版本 sink 的 PHP gadget,在 127.0.0.1:18940 上提供回环 HTTP 服务。

系列文章:https://abraxaslabs.tech/research/pfsense-ce-leftovers

攻击者可执行的操作

方法Sink权限影响
POST system.php timezonerc.php_ini_setup date.timezone="${TIMEZONE}"完整性: 实验环境已验证:生成的 php.ini 接受了 auto_prepend_file;php -c 加上 php-fpm 模拟脚本运行了 prepend 并写入了见证文件。
同一遗留问题同一 sink侦察: 推断:prepend 在 php.ini 重建 / php-fpm 重启后以 root PHP 身份运行。
同一遗留问题同一 sink可用性: 推断:损坏的 php.ini 可导致 GUI 瘫痪,直至修复。

需要: page-system-generalsetup。除非另有说明,POST 请求受 CSRF-magic 保护。WebGUI PHP-FPM 以 root 运行。

需要: page-system-generalsetup。除非另有说明,POST 请求受 CSRF-magic 保护。WebGUI PHP-FPM 以 root 运行。除非另有说明,POST 请求受 CSRF-magic 保护。WebGUI PHP-FPM 以 root 运行。

保持关闭的相邻攻击面

Form_Select 仅用于 UI。hostname/domain 有其自身的字符集检查。未认证不可利用。

除非该页面也被授权,否则无 Diagnostics: Command 可用。

实验环境

cd lab
./run.sh

回环 127.0.0.1:18940。Compose 项目 pfsense-timezone-phpini。见证文件 PFSENSE-TIMEZONE-PHPINI-WITNESS。仅限回环:127.0.0.1:18940。Compose 项目 pfsense-timezone-phpini。见证文件 PFSENSE-TIMEZONE-PHPINI-WITNESS。固定代码行的 PHP gadget。运行结束后栈会拆除。

最后一行:

SUCCESS PFSENSE-TIMEZONE-PHPINI control-clean=yes trigger-prepend=yes is-timezone-accepts=yes not-allowlisted=yes PFSENSE-TIMEZONE-PHPINI-WITNESS

修复

针对 system_get_timezone_list() 对 timezone 进行 in_array 校验。对 rc.php_ini_setup 的插值进行引号转义。

参考资料

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • CWE-94
  • 系列文章:https://abraxaslabs.tech/research/pfsense-ce-leftovers
下载工具