
Автоматизированный сканер для уязвимости CVE-2019-12102 неаутентифицированной загрузки файлов в Kentico CMS. Проверяет домены, верифицирует с помощью хеш-параметра и выводит потенциально и подтвержденные уязвимые цели.
CVE-2019-12102 Scanner — это автоматизированный инструмент для сканирования уязвимости Неаутентифицированная загрузка файлов / Раскрытие файлов в Kentico CMS версий 11–12. Уязвимость вызвана неправильным контролем доступа к конечной точке /cmsmodules/medialibrary/formcontrols/liveslectors/insertimageormedia/tabs_media.aspx. Инструмент проверяет, является ли домен уязвимым, анализируя ответ от конечной точки, и сохраняет результаты в отдельные файлы для Потенциально уязвимых и Подтвержденно уязвимых доменов.
Уязвимость CVE-2019-12102 позволяет злоумышленникам:
Уязвимая конечная точка (/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx) может быть доступна без аутентификации, если параметр hash не проверяется должным образом. Если URL перенаправляет на /CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=, домен считается уязвимым.
Ctrl+C).requests, coloramaКлонируйте репозиторий:
git clone https://github.com/Egi08/CVE-2019-12102-Scanner.git
cd CVE-2019-12102-Scanner
Установите зависимости:
pip install -r requirements.txt
(Если файл requirements.txt не существует, создайте его со следующим содержимым):
requests
colorama
Подготовьте входной файл (domains.txt), содержащий список доменов, по одному домену на строку. Пример:
example.com
another-example.com
vulnerable-site.com
python cve_2019_12102_scanner.py -l <input_file> -p <potentially_output_file> -c <confirmed_output_file>
-l, --list: Путь к файлу со списком доменов (обязательно).-p, --potentially: Выходной файл для Потенциально уязвимых доменов (необязательно, по умолчанию: potentially_vulnerable.txt).-c, --confirmed: Выходной файл для Подтверждённо уязвимых доменов (необязательно, по умолчанию: confirmed_vulnerable.txt).python cve_2019_12102_scanner.py -l domains.txt -p potentially_vulnerable.txt -c confirmed_vulnerable.txt
[*] Starting vulnerability scanner for CVE-2019-12102...
[*] Checking: http://example.com
[-] Not Vulnerable: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] Checking: http://vulnerable-site.com
[+] Potentially Vulnerable: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] Confirmed Vulnerable: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] Results saved:
Potentially Vulnerable domains saved to potentially_vulnerable.txt
Confirmed Vulnerable domains saved to confirmed_vulnerable.txt
potentially_vulnerable.txt)http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
confirmed_vulnerable.txt)http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
Этическое тестирование:
Тайм-аут:
requests.get:
response = requests.get(full_url, timeout=20) # Тайм-аут 20 секунд
Обработка ошибок:
Безопасное сохранение:
Ctrl+C).Параметр хэша:
test_hash в настоящее время использует пример хэша (13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf). При необходимости измените его.Вклад приветствуется! Если вы хотите внести свой вклад, пожалуйста:
git checkout -b feature/your-feature-name
git commit -m "Add your changes here"
git push origin feature/your-feature-name
Этот проект лицензирован по лицензии MIT. Подробнее см. в файле LICENSE.
С этой документацией вы можете легко загрузить скрипт на GitHub и предоставить чёткие инструкции для использования инструмента другими.