
Docker-контейнер для настройки уязвимой версии elfinder на серверах nginx и apache. Может использоваться для тестирования POC уязвимости.
Этот репозиторий содержит настройку для воспроизведения CVE-2021-23394 (произвольное выполнение файлов в elFinder) с использованием Docker. Он настраивает четыре среды для сравнения уязвимых и исправленных версий на Apache и Nginx.
В состав настройки входят:
8080): elFinder 2.1.57 на Apache8081): elFinder 2.1.66 на Apache8082): elFinder 2.1.57 на Nginx8083): elFinder 2.1.66 на NginxСделайте скрипт настройки исполняемым (если он ещё не является таковым):
chmod +x setup_containers.sh
Запустите скрипт настройки:
./setup_containers.sh
Это создаст Docker-образы и запустит контейнеры.
Вы можете получить доступ к интерфейсу elFinder в вашем браузере по адресу:
Чтобы проверить уязвимость (или исправление), используйте Nuclei с соответствующим шаблоном.
Выполните следующие команды (замените path-to-nuclei-templates на фактический путь к вашей директории шаблонов):
# Test Apache Vulnerable (should be vulnerable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8080
# Test Apache Patched (should NOT be vulnerable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8081
# Test Nginx Vulnerable (should be vulnerable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8082
# Test Nginx Patched (should NOT be vulnerable)
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -u http://localhost:8083
В качестве альтернативы, протестируйте все сразу, создав файл targets.txt:
echo -e "http://localhost:8080\nhttp://localhost:8081\nhttp://localhost:8082\nhttp://localhost:8083" > targets.txt
nuclei -t path-to-nuclei-templates/http/cves/2021/CVE-2021-23394.yaml -l targets.txt
Ожидаемые результаты:
Чтобы остановить и удалить контейнеры, вы можете выполнить команду очистки внутри скрипта или вручную:
docker rm -f elfinder-apache-vuln elfinder-apache-patched elfinder-nginx-vuln elfinder-nginx-patched