Tc-XoNoR/FUnchis
GitHub: Tc-XoNoR/FUnchis
一款专注于文件上传漏洞检测的 Python 安全测试工具,通过模糊测试和启发式分析帮助识别潜在的过滤器绕过和 RCE 风险。
Stars: 0 | Forks: 0
# FUnchis
FUnchis 是一个 Python 工具,旨在测试文件上传功能并识别诸如**过滤器绕过**以及通过恶意上传可能导致的**远程代码执行 (RCE)** 等弱点。
## 🚀 功能特性
- 自动发现上传表单(HTML 解析)
- 扩展名模糊测试(Fuzzing):
- `.php`、`.phtml`、`.phar`、`.pht` 等
- 响应分析:
- 状态码
- 重定向行为
- 清理后的 HTML 差异
- 检测:
- 基于关键词匹配和响应差异的启发式过滤
- 薄弱的服务端验证逻辑
- 文件名猜测:
- 从响应中提取
- MD5 / SHA1 模式
- 可选的上传目录探测
- 支持:
- Cookies
- 代理(Burp/ZAP)
- CSRF Token 处理
- 详细日志(`-v`)
## 🧠 工作原理
- 提取上传表单参数
- 发送有效请求(PNG)作为基线
- 上传多语言 Payload(PNG + PHP)
- 比较响应以检测过滤器
- 识别允许的扩展名
- 尝试文件访问和执行
## 📦 安装
```
pip install requests beautifulsoup4
```
## 🛠️ 使用方法
```
python3 Funchis.py [OPTIONS]
```
### 选项
- `--cookies` → `"PHPSESSID=xxx, TOKEN=yyy"`
- `-x, --proxy` → `127.0.0.1:8080`
- `--csrf` → 每次请求刷新 CSRF Token
- `-u, --upload` → 上传目录(例如 `/uploads/`)
- `-v` → 显示详细信息
## 📌 示例
```
python3 Funchis.py http://target.com/upload.php
```
```
python3 Funchis.py http://target.com \
--cookies "PHPSESSID=abcd1234" \
-x 127.0.0.1:8080 \
--csrf \
--upload files/ \
-v
```
## ⚠️ 局限性
- 专为基于 HTML 的上传表单设计(不处理 JS)
- 基于启发式检测(可能会产生误报/漏报)
- 专注于基于 PHP 的应用程序
- 尚未实现高级绕过技术
- 模糊测试机制有待改进
## 🔮 路线图
- [ ] 扩展对其他后端的支持
- [ ] 高级基于文件名的攻击技术:
- 通过文件名注入(例如 SQL 注入、命令注入)
- [ ] 高级扩展名绕过技术:
- 双重扩展名(`shell.php.png`、`shell.png.php`)
- 罕见扩展名和解析不一致性
- [ ] Content-Type 模糊测试和 MIME 验证绕过
- [ ] 激进模式:
- 自动过滤器规避技术
- 边缘情况解析行为(例如引号、空字节、分隔符)
- [ ] 改进服务端文件重命名逻辑的检测和响应分析
## ⚠️ 免责声明
本工具仅供教育目的和授权测试使用,可能会产生误报或漏报。
## 📄 许可证
MIT 许可证 — 详情见 [LICENSE](LICENSE)。
标签:AES-256, CISA项目, Python安全工具, RCE检测, Webshell检测, Web安全, Windows内核, 上传表单分析, 代码生成, 加密, 图形区绕过, 安全测试, 扩展名绕过, 攻击性安全, 文件上传漏洞, 渗透测试工具, 漏洞扫描器, 漏洞评估, 白帽子, 编程工具, 网络信息收集, 网络安全, 蓝队分析, 过滤绕过, 远程代码执行, 逆向工具, 隐私保护