
Generate malicious files using recently published homoglyphic-attack (CVE-2021-42694)
使用最近公布的同形字攻击漏洞生成恶意文件,该漏洞至少已在 C、C++、C#、Go、Python、Rust、JS 等语言中发现。
引用自 cve.mitre.org
在 Unicode 规范至 14.0 版的字符定义中发现了一个问题。该规范允许攻击者使用同形字生成源代码标识符(如函数名),这些标识符在视觉上与目标标识符完全相同。攻击者可利用这一点,通过在上游软件依赖项中定义对抗性标识符来注入代码,这些依赖项在下游软件中被欺骗性地调用。
同形字的原始数据(homoglyphs.txt)取自此处,并已清理数据以排除斜体和外观差异较大的字符。
查看剑桥大学的原始来源:
https://www.trojansource.codes/trojan-source.pdf
python3 codegen.py [-h] [-i INFILE] [-o OUTFILE] [-r] [-a]
| 参数 | 长参数 | 参数值 | 描述 |
|---|---|---|---|
| -h | --help | 无 | 显示此帮助信息并退出 |
| -i | --infile | INFILE | 包含同形字占位符的输入文件 |
| -o | --outfile | OUTFILE | 用于存储最终代码的输出文件 |
| -r | --random | 无 | 设置该标志以选择随机同形字;若未设置则取第一个 |
| -a | --about | 无 | 打印关于文本 |
示例由我创建或取自上述 PDF。要运行这些示例,请使用所需参数执行 codegen.py:
python3 codegen.py -i infile.xyz -o outfile.xyz 然后运行/编译 outfile.xyz。
目前仅支持数字 [0-9] 以及大小写字母 [a-zA-Z]。要在模板中将受支持的字符替换为(随机的)同形字,只需用美元符号 $ 将该字符括起来。查看示例可以对模板的外观有个初步了解。