FUSE 是一个渗透测试系统,旨在识别不受限制的可执行文件上传(UEFU)漏洞。测试策略的详细内容见我们的论文《FUSE: Finding File Upload Bugs via Penetration Testing》,该论文发表于 NDSS 2020。关于如何配置和运行 FUSE,请参见以下内容。
FUSE 目前运行在 Ubuntu 18.04 和 Python 2.7.15 上。
# apt-get install rabbitmq-server
# apt-get install python-pip
# apt-get install git
$ git clone https://github.com/WSP-LAB/FUSE
$ cd FUSE && pip install -r requirements.txt
FUSE 使用用户提供的 配置文件,该文件指定了目标 PHP 应用程序的参数。在测试目标 Web 应用程序之前,必须填写该脚本。你可以查看 README 文件和 示例配置文件。
文件监控器配置(可选)
$ vim filemonitor.py
...
10 MONITOR_PATH='/var/www/html/' <- 目标应用程序的 Web 根目录
11 MONITOR_PORT=20174 <- 文件监控器的默认端口
12 EVENT_LIST_LIMITATION=8000 <- EVENT_LIST 中元素的最大数量
...
$ python framework.py [配置文件的路径]
$ python filemonitor.py
如果你通过运行 FUSE 发现了 UFU 和 UEFU 漏洞并获得了 CVE 编号,请提交 PR 到 README.md
本研究项目由 KAIST 的 WSP Lab 进行。
引用我们的论文:
@INPROCEEDINGS{lee:ndss:2020,
author = {Taekjin Lee and Seongil Wi and Suyoung Lee and Sooel Son},
title = {{FUSE}: Finding File Upload Bugs via Penetration Testing},
booktitle = {Proceedings of the Network and Distributed System Security Symposium},
year = 2020
}
| 应用程序 | CVEs |
|---|
| Elgg | CVE-2018-19172 |
| ECCube3 | CVE-2018-18637 |
| CMSMadeSimple | CVE-2018-19419, CVE-2018-18574 |
| CMSimple | CVE-2018-19062 |
| Concrete5 | CVE-2018-19146 |
| GetSimpleCMS | CVE-2018-19420, CVE-2018-19421 |
| Subrion | CVE-2018-19422 |
| OsCommerce2 | CVE-2018-18572, CVE-2018-18964, CVE-2018-18965, CVE-2018-18966 |
| Monstra | CVE-2018-6383, CVE-2018-18694 |
| XE | XEVE-2019-001 |