基于 Python 的安全扫描器,用于检测 Telerik UI for ASP.NET AJAX 远程代码执行漏洞(CVE-2019-18935)。
CVE:CVE-2019-18935
风险等级:高
CWE:CWE-913
CVSS:9.8(严重)
Telerik UI for ASP.NET AJAX 版本 2019.3.1023 及之前版本在 RadAsyncUpload 函数中存在 .NET 反序列化漏洞,可导致远程代码执行。
当加密密钥已知时,该漏洞可被利用,原因如下:
pip install requests
git clone <repository-url>
cd TelerikVulnCheck
python telerik_CVE-2019-18935.py -t example.com
python telerik_CVE-2019-18935.py -iL targets.txt
python telerik_CVE-2019-18935.py -r 192.168.1.0/24
python telerik_CVE-2019-18935.py -search
python telerik_CVE-2019-18935.py -iL targets.txt --threads 20
python telerik_CVE-2019-18935.py -iL targets.txt --timeout 30
python telerik_CVE-2019-18935.py -iL targets.txt --delay 0.5
python telerik_CVE-2019-18935.py -iL targets.txt --output results.txt
创建一个文本文件,每行一个目标:
# targets.txt
example.com
192.168.1.1
test.example.com
10.0.0.1
特性:
# 开头的行为注释在以下路径扫描 Telerik RadAsyncUpload 处理程序:
/Telerik.Web.UI.WebResource.axd?type=rau/aspnet-ajax/Telerik.Web.UI.WebResource.axd?type=rau分析 HTML 源码以匹配版本模式:
20[0-9]{2}(?:\.[0-9]*)+基于版本判断漏洞情况:
结果保存到带时间戳的文件中:
telerik_scan_results_20241201_143022.txt
文件内容:
| 目标数 | 线程数 | 用时 |
|---|---|---|
| 100 | 10 | ~1-2 分钟 |
| 1000 | 10 | ~10-15 分钟 |
| 100 | 20 | ~30-60 秒 |
export TELERIK_TIMEOUT=15
export TELERIK_THREADS=20
export TELERIK_DELAY=0.5
DEFAULT_TIMEOUT = 10 # 秒
DEFAULT_THREADS = 10 # 并发线程数
DEFAULT_DELAY = 1.0 # 请求间延迟(秒)
连接超时
python telerik_CVE-2019-18935.py -iL targets.txt --timeout 30
性能缓慢
python telerik_CVE-2019-18935.py -iL targets.txt --threads 20 --delay 0.1
SSL 问题
| 错误 | 解决方案 |
|---|---|
File not found | 检查文件路径和权限 |
Connection error | 验证网络连接 |
Timeout | 增大超时值 |
如果您发现漏洞:
免责声明:此工具仅用于授权的安全测试。用户有责任确保他们有权扫描所测试的目标。作者不对工具的滥用负责。
| 参数 | 简写 | 描述 | 默认值 |
|---|
--target | -t | 单个扫描目标 | - |
--inputfile | -iL | 包含目标列表的文件 | - |
--range | -r | IP 范围(CIDR 格式) | - |
--search | - | 搜索随机 IP | - |
--threads | - | 并发线程数 | 10 |
--timeout | - | 请求超时(秒) | 10 |
--delay | - | 请求间延迟(秒) | 1.0 |
--output | - | 输出文件名 | 自动生成 |
SSL warning| 正常现象,可忽略 |