你是否被潜伏在 JavaScript 代码中的 跨站脚本(XSS)漏洞 的幽灵所困扰?担心 CVE-2020-11023 让你的 Web 应用程序暴露在攻击之下?别怕!CVE-2020-11023 扫描器 将助你发现并征服那些烦人的漏洞!
这款快速且可靠的静态分析工具旨在扫描 JavaScript 文件和网页,寻找 XSS 漏洞的可疑迹象,尤其是与 CVE-2020-11023 相关的那些。它重点关注 jQuery 3.5.0 之前的版本,因为这些版本已知易受攻击。
免责声明: 请记住,此工具仅执行静态分析。它不执行任何代码,因此无法像动态分析那样保证可利用性。始终手动审查扫描结果,并进行进一步测试以确认实际风险!
.js 文件。.html()、.append()、.after()、.before() 和 .replaceWith(),当它们与潜在不安全的输入一起使用时。window.location、document.cookie 等。requests 库(pip install requests)beautifulsoup4 库(pip install beautifulsoup4)packaging 库(pip install packaging)克隆本仓库:
git clone <your-repository-url>
cd <your-repo-name>
安装依赖:
pip install -r requirements.txt
命令行参数:
--url <URL>:指定要扫描的目标 URL。--file <path>:指定要扫描的本地文件或目录路径。--deep:为 URL 启用深度扫描(递归爬取链接的 JavaScript 文件)。示例:
扫描一个网站(启用深度扫描):
python scan.py --url [https://www.example.com](https://www.example.com) --deep
扫描本地 JavaScript 文件:
python scan.py --file /path/to/your/file.js
递归扫描本地目录:
python scan.py --file /path/to/your/directory
示例报告:
════════════════════════════════════════════════════════════════════════════════════════════
漏洞扫描报告
CVE-2020-11023
════════════════════════════════════════════════════════════════════════════════════════════
■ [潜在漏洞] JQUERY_VERSION
位置: [https://www.example.com/](https://www.example.com/)
行: N/A
代码: 更新至 >=3.5.0
详情: jQuery 3.4.0 (潜在易受攻击)
■ [潜在漏洞] METHOD_APPEND
位置: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
行: 25
代码: element.append(data);
详情: 不安全变量: data, 直接来源: window.location
■ [信息] JQUERY_VERSION
位置: [https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id](https://support.google.com/photos/thread/202686606/apakah-foto-atau-video-yg-dihapus-secara-permanen-tidak-akan-bisa-kembali-lagi?hl=id)
行: N/A
代码: 安全版本
详情: jQuery 3.6.0 (安全)
🛡️ 建议
更新 jQuery:如果检测到脆弱的 jQuery 版本,请立即更新到最新版本(>= 3.5.0)。
清理输入:在将任何用户提供或不可信的数据用于可能危险的 DOM 操作方法之前,务必彻底清理。考虑使用 DOMPurify 等库。
明智使用 .text():如果只需插入文本内容,请使用 .text() 方法而不是 .html() 或其他可能将输入解释为 HTML 的方法。
手动审查:始终手动审查此脚本的发现,以确定实际风险并排除误报。
🙌 贡献
让我们一起让数字世界更安全!我们非常欢迎您的贡献!请随时提交拉取请求或打开问题,以改进此脚本的性能和能力。
📄 许可证
本项目采用 MIT 许可证授权。