CVE-2019-12102 扫描器 是一款自动化工具,用于扫描 Kentico CMS 版本 11 到 12 中的 未经身份验证的文件上传/文件暴露 漏洞。该漏洞是由于端点 /cmsmodules/medialibrary/formcontrols/liveselectors/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
[*] 启动 CVE-2019-12102 漏洞扫描器...
[*] 正在检查: http://example.com
[-] 未发现漏洞: http://example.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[*] 正在检查: http://vulnerable-site.com
[+] 可能受漏洞影响: http://vulnerable-site.com/cmsmodules/medialibrary/formcontrols/liveselectors/insertimageormedia/tabs_media.aspx
[+] 确认受漏洞影响: http://vulnerable-site.com/CMSMessages/accessdenied.aspx?resstring=dialogs.missinghashtext&hash=13b203251094c6c51e1f7974b22e84538003b9c23754bc7b24a19891e6d476bf
[+] 结果已保存:
可能受漏洞影响的域名已保存到 potentially_vulnerable.txt
确认受漏洞影响的域名已保存到 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/你的功能名称
git commit -m "在此添加你的更改"
git push origin feature/你的功能名称
本项目采用 MIT 许可证 授权。更多详情请参阅 LICENSE 文件。
使用本文档,你可以轻松将脚本上传到 GitHub,并为他人提供清晰的工具使用说明。