
Инструмент для тестирования на проникновение для поиска уязвимостей загрузки файлов (NDSS 2020)
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-приложения. Скрипт необходимо заполнить перед тестированием целевого веб-приложения. Вы можете ознакомиться с README и примерами файлов конфигурации.
Конфигурация File Monitor (опционально)
$ vim filemonitor.py
...
10 MONITOR_PATH='/var/www/html/' <- Корневая веб-директория целевого приложения
11 MONITOR_PORT=20174 <- Порт по умолчанию для File Monitor
12 EVENT_LIST_LIMITATION=8000 <- Максимальное количество элементов в EVENT_LIST
...
$ python framework.py [Путь к файлу конфигурации]
$ python filemonitor.py
Если вы нашли ошибки UFU и UEFU и получили CVE, запустив FUSE, отправьте PR в README.md
Данный исследовательский проект выполнен WSP Lab в KAIST.
Для цитирования нашей статьи:
@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
}
| Приложение | CVE |
|---|
| 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 |