
Демо-веб-приложение, уязвимое к CVE-2022-44900
Демо-веб-приложение, уязвимое к CVE-2022-44900.
CVE-2022-44900 — это уязвимость обхода каталога в функции SevenZipFile.extractall() библиотеки Python py7zr версии 0.20.0 и более ранних, которая позволяет злоумышленникам читать и записывать произвольные файлы на локальной машине через извлечение вредоносного 7z-архива.
Для эксплуатации уязвимости CVE-2022-44900 злоумышленнику необходимо создать вредоносный 7z-архив, содержащий символическую ссылку для произвольного чтения файла, и файл с именем, содержащим payload обхода пути, для произвольной записи файла.
Подробнее на: https://lessonsec.com/cve/cve-2022-44900/
Используйте slip для генерации вредоносных архивов: https://github.com/0xless/slip
Чтобы запустить уязвимое веб-приложение, вы можете либо создать Docker-контейнер, либо запустить только сервер.
Если вы решите запустить только сервер, вам нужно выполнить:
pip3 install py7zr==0.20.0
для установки уязвимой версии py7zr.
Затем просто запустите приложение с помощью:
python3 slipper.py
И веб-приложение будет доступно по адресу localhost:9999.
Чтобы создать контейнер, используйте dockerfile для создания образа slipper.
Затем создайте контейнер с сетью host и экспортом порта 9999. Как и в другом способе установки, это позволит вам обращаться к веб-приложению по адресу localhost:9999.
Веб-сайт будет выглядеть так:

Теперь вы можете извлекать файлы и пытаться эксплуатировать эту лабораторию.
Веб-приложение не предназначено для открытого доступа, оно, вероятно, уязвимо к некоторым другим атакам и не обрабатывает все ошибки правильно (как можно было бы ожидать от нормального веб-сайта). Убедитесь, что используете это программное обеспечение безопасно.
Этот проект лицензирован в соответствии с GPL-3.0 License.