
CVE-2022-31147 is a path traversal flaw in matthiasmullie/minify. This guide helps security teams test for arbitrary file read on Linux and Windows using Python and curl. It covers automated payload generation, manual validation, and safe practices for vulnerability assessment.
В данном руководстве представлены всесторонние методики тестирования CVE-2022-31147 — критической уязвимости обхода пути, затрагивающей широко используемую библиотеку matthiasmullie/minify. Уязвимость позволяет злоумышленникам использовать недостаточную очистку входных данных в конечной точке minify, что потенциально даёт возможность выполнять произвольные операции чтения файлов как на серверах Linux, так и Windows. Руководство предназначено для специалистов по безопасности, пентестеров и исследователей, стремящихся оценить подверженность веб-приложений данной угрозе.
Основой руководства является автоматизированный скрипт доказательства концепции на Python, который систематически генерирует и тестирует широкий спектр полезных нагрузок обхода пути. Эти нагрузки используют различную глубину обхода каталогов (../), множественные схемы кодирования (например, URL-кодирование и двойное кодирование) и вариации конечных точек (включая фиктивные расширения и параметры запроса) для обхода типичных механизмов маршрутизации и фильтрации. Применяя эти техники, скрипт максимизирует вероятность обнаружения уязвимых конфигураций даже в средах, защищённых базовыми межсетевыми экранами веб-приложений или пользовательской логикой маршрутизации.
Точность обнаружения дополнительно повышается за счёт встроенных эвристик, анализирующих содержимое ответа на наличие известных маркеров файлов. Для целей Linux скрипт ищет шаблоны, характерные для /etc/passwd или других конфиденциальных файлов, а для систем Windows — индикаторы в файлах типа win.ini. Такой подход гарантирует надёжное выявление успешной эксплуатации, минимизируя ложные срабатывания и упрощая процесс проверки.
Помимо автоматизированного тестирования, в руководстве описаны методы ручной проверки с помощью curl, позволяющие практикам создавать и отправлять собственные запросы для целенаправленного анализа или независимой верификации результатов. На протяжении всего руководства подчёркиваются рекомендации по безопасному и авторизованному тестированию, включая важность проведения оценок только на системах, на которые получено явное разрешение.
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --linux --file /etc/passwd
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --windows --file C:\Windows\win.ini
Создайте безвредный файл на сервере, затем попытайтесь его прочитать:
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --file /var/www/test.txt
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../windows/win.ini"
curl -i "https://yourdomain.tld/cdn/minify/%2e%2e/../%2e%2e/../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd.css"
https://yourdomain.tld/cdn/minify на ваш фактический целевой URL.