
파일 업로드 취약점을 찾기 위한 침투 테스트 도구 (NDSS 2020)
FUSE는 제한되지 않은 실행 파일 업로드(UEFU) 취약점을 식별하도록 설계된 침투 테스트 시스템입니다. 테스트 전략에 대한 자세한 내용은 NDSS 2020에 게재된 논문 "FUSE: Finding File Upload Bugs via Penetration Testing"에 있습니다. 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 파일과 예제 구성 파일을 확인할 수 있습니다.
파일 모니터 구성 (선택 사항)
$ vim filemonitor.py
...
10 MONITOR_PATH='/var/www/html/' <- 대상 애플리케이션의 웹 루트
11 MONITOR_PORT=20174 <- 파일 모니터의 기본 포트
12 EVENT_LIST_LIMITATION=8000 <- EVENT_LIST의 최대 요소 수
...
$ python framework.py [구성 파일 경로]
$ python filemonitor.py
FUSE를 실행하여 UFU 및 UEFU 버그를 찾고 CVE를 받은 경우 README.md에 PR을 보내주세요.
이 연구 프로젝트는 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
}
| 애플리케이션 | 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 |