
يحتوي هذا المستودع على نص برمجي مكتوب بلغة Python لأتمتة عملية اختبار ثغرة أمنية تُعرف باسم Text4Shell، والمشار إليها بمعرّف CVE: CVE-2022-42889.
يحتوي هذا المستودع على سكربت Python لأتمتة عملية اختبار ثغرة أمنية تُعرف باسم Text4Shell، والمشار إليها بالمعرف CVE-2022-42889.
تُعد Text4Shell ثغرة حرجة تؤثر على مجموعة واسعة من الأنظمة. تكمن الثغرة في الطريقة التي تحلل بها هذه الأنظمة سلاسل النصوص، وتسمح بتنفيذ تعليمات برمجية عشوائية أو هجمات SSRF. تُستغل الثغرة عبر سلاسل مصممة بعناية، حيث يتم تنفيذ كود JavaScript (مما يؤدي إلى تنفيذ التعليمات البرمجية عن بُعد (RCE)) أو جلب عناوين URL (مما يؤدي إلى تزوير الطلبات من جانب الخادم (SSRF)).
من Tarlogic:
متطلبات الاستغلال:
يقبل التطبيق مدخلات يتحكم فيها المستخدم، وتتم معالجتها لاحقًا بإحدى الطرق التالية للمكوّن المتأثر:
إصدارات Java الأكبر من أو تساوي Java 15 لن تكون معرضة لتنفيذ التعليمات البرمجية عن بُعد، نظرًا لتعطيل محرك Nashorn وعدم توفّر بادئة “script”. ومع ذلك، ستظل الهجمات الأخرى عبر بادئتي “url” و“dns” ممكنة.
يساعد سكربت Python هذا في اختبار وجود ثغرة Text4Shell في نظام ما. يتضمن نطاق هذا السكربت: اختبار بادئتي script وurl.
يحتوي السكربت على وضعين للتشغيل: RCE وSSRF، يتم التحكم فيهما عبر وسيط سطر الأوامر -m أو --mode. يقوم بإنشاء عنوان URL يتضمن سلسلة مصممة بناءً على الوضع المحدد، ثم يرسل طلب GET إلى ذلك العنوان.
في وضع RCE، ينشئ السكربت سلسلة مصممة تحاول تنفيذ أمر JavaScript. يتم تمرير الأمر المراد تنفيذه كوسيط لسطر الأوامر باستخدام -c أو --command.
python text4shell.py -u 'http://example.com/search?query=' -c 'your_command' -m 'rce'
في وضع SSRF، ينشئ السكربت سلسلة مصممة تتضمن أمر جلب عنوان URL.
python text4shell.py -u 'http://example.com/search?query=' -m 'ssrf' -s 'http://example.com/resource'
يقوم السكربت بإرسال طلب GET إلى العنوان المُنشأ، ثم يطبع رمز حالة استجابة HTTP ومحتواها.