关联漏洞
标题:
Unicode 安全漏洞
(CVE-2021-42694)
描述:Unicode(通用字符集)是美国统一码联盟(Unicode Consortium)组织的一种通用字符编码标准。用于为世界上每种语言的每个字符和符号分配一个代码。 Unicode Specification 14.0 版本及之前版本存在安全漏洞,该漏洞源于该规范允许攻击者使用在视觉上与目标标识符相同的同形文字生成源代码标识符,例如函数名称。 攻击者可以利用这一点,通过在下游软件中欺骗性地调用的上游软件依赖项中的对抗标识符定义来注入代码。
介绍
# CVE-2021-42694
这个脚本实现了一个同形文字(Homoglyph)检测工具,主要用于检测代码中可能存在的 CVE-2021-42694 漏洞。让我详细解释一下它的主要功能:
核心功能:
检测代码中的同形文字替换攻击
扫描 Python 文件中的变量名、函数名等标识符
识别视觉上相似但实际不同的 Unicode 字符
主要组件:
HomoglyphDetector 类:主要的检测器类
数据获取:从 Unicode 官网获取 Confusables 数据
文件扫描:支持扫描单个文件或整个目录
工作流程:
首次运行时自动下载 Unicode Confusables 数据
解析数据并建立同形文字对照表
扫描代码文件中的标识符
检查每个标识符中是否存在同形文字
生成详细的检测报告
具体检测过程:
Apply to homoglyph_de...
# 例如检测这样的代码:
user_name = "John" # 正常代码
usеr_name = "John" # 包含同形文字的代码(е 是西里尔字母)
输出结果:
显示可疑的文件路径
显示可疑的标识符
显示具体的同形文字对(例如:n -> η)
安全特性:
自动更新 Unicode 数据
本地缓存机制
详细的错误处理
这个工具的主要用途是帮助开发者发现代码中可能存在的同形文字攻击,这种攻击可能导致:
代码混淆
安全漏洞
维护困难
潜在的恶意代码注入
通过使用这个工具,开发者可以:
确保代码中使用的标识符是安全的
防止同形文字替换攻击
提高代码的可维护性和安全性
文件快照
[4.0K] /data/pocs/820a01575e29285acc53d120a07c447f624609c5
├── [4.0K] homoglyph_detector.py
├── [ 11K] LICENSE
├── [1.5K] README.md
└── [ 17] requirements.txt
0 directories, 4 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。