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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pfsense-vlan-parent-ioctl — pfSense CE 2.9.0-DEVELOPMENT - 低危 - 远程 - ioctl 残留 - VLAN 父接口不在端口列表中 | Kitploit
工具/GitHubGitHub/abraxas/pfsense-vlan-parent-ioctl
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试实验室与实践
GitHubabraxas/pfsense-vlan-parent-ioctl

pfsense-vlan-parent-ioctl

pfSense CE 2.9.0-DEVELOPMENT - 低危 - 远程 - ioctl 残留 - VLAN 父接口不在端口列表中

查看仓库
13天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Abraxas Labs - pfsense-vlan-parent-ioctl

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-vlan-parent-ioctl

pfsense-vlan-parent-ioctl

类别: ioctl 遗留问题 可达性: 远程

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

interfaces_vlan_edit.php 仅为 Form_Select 构建 $portlist。保存时检查 does_interface_exist($_POST['if']) 并调用 interface_vlan_configure。没有 $portlist 成员资格检查。ifconfig vlan create 使用 escapeshellarg,因此这不是 shell 注入。

ID暂无 CVE
类别ioctl 遗留问题
可达性远程(除非另有说明,否则为已认证 WebGUI)
CWECWE-863
CVSS中危:4.3 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
产品pfSense CE
受影响版本2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9)
认证具有 page-interfaces-vlan-edit 权限的 WebGUI 会话
许可证GNU Affero GPL v3.0
实验环境仅 127.0.0.1

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

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

攻击者能做什么

方法Sink权限影响
POST interfaces_vlan_edit.php if= 隐藏父接口interface_vlan_configure / pfSense_vlan_create完整性: 实验证明:从 UI 中隐藏的活动 lagg 成员仍然执行了 vlan create vlandev。缺失父接口和 shell 元字符会被拒绝。
同一遗留问题同一 sink侦察: 未展示。
同一遗留问题同一 sink可用性: 推断:在 UI 隐藏的内核接口上创建 vlan。

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

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

保持关闭的相邻攻击面

不是 shell 注入。缺失父接口会被拒绝。Shell 元字符会被拒绝。

除非该页面也被授予权限,否则没有 Diagnostics: Command。

实验环境

cd lab
./run.sh

回环 127.0.0.1:19290。Compose 项目 pfsense-vlan-parent-ioctl。见证 PFSENSE-VLAN-PARENT-IOCTL-WITNESS。仅回环:127.0.0.1:19290。Compose 项目 pfsense-vlan-parent-ioctl。见证 PFSENSE-VLAN-PARENT-IOCTL-WITNESS。固定代码行的 PHP gadget。运行结束后栈会被拆除。

最后一行:

SUCCESS PFSENSE-VLAN-PARENT-IOCTL control-portlist=yes reject-missing=yes no-shell=yes trigger-hidden-ioctl=yes PFSENSE-VLAN-PARENT-IOCTL-WITNESS

修复

要求 POST 的 if 必须位于 $portlist 中,而不仅仅是 does_interface_exist。

参考资料

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