
Generate malicious files using recently published homoglyphic-attack (CVE-2021-42694)
إنشاء ملفات ضارة باستخدام ثغرة الهجوم بالحروف المتشابهة (homoglyph-attack) التي تم اكتشافها مؤخرًا، والتي وُجدت على الأقل في 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]. لاستبدال حرف مدعوم داخل قالبك بحرف متشابه (عشوائي)، قم ببساطة بإحاطة الحرف بعلامات الدولار $. انظر الأمثلة للحصول على انطباع أولي عن شكل القالب.