Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2017-5638 — هذا السكربت مخصص للتحقق من ثغرة Apache Struts 2 (CVE-2017-5638)، والمعروفة أيضًا باسم Struts-Shock. | Kitploit
أدوات/GitHubGitHub/readloud/cve-2017-5638
ماسحات الثغرات الأمنيةتوليد الحمولةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليم
GitHubreadloud/cve-2017-5638

CVE-2017-5638

هذا السكربت مخصص للتحقق من ثغرة Apache Struts 2 (CVE-2017-5638)، والمعروفة أيضًا باسم Struts-Shock.

عرض المستودع
1منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2017-5638

هذا السكربت مخصص للتحقق من ثغرة Apache Struts 2 (CVE-2017-5638)، المعروفة أيضًا باسم Struts-Shock. وهو غير ضار تمامًا لأنه لا يحقن أي حمولة خبيثة، بل يكتفي بحقن ترويسة HTTP تُسمى 'STRUTS2-VALIDATION' من أجل التحقق مما إذا كان الهدف عرضة للثغرة.

بفضل قدرته على تعدد الخيوط (multithreading)، يمكنه فحص أكثر من 2.5 ألف تطبيق موزعة حول العالم في أقل من 10 دقائق. لذلك، يمكن أن يكون مفيدًا جدًا في التحقق من التطبيقات المؤسسية على نطاق واسع.

cve-2017-5638

cve-2017-5638 عينة موقع قابل للاستغلال

يهدف هذا المشروع إلى توضيح استغلال ثغرة CVE-2017-5638 لأغراض تعليمية. لمزيد من المعلومات، انظر https://cwiki.apache.org/confluence/display/WW/S2-045

إخلاء مسؤولية قانوني

أُعدّ هذا المشروع لأغراض التعليم والاختبار الأخلاقي فقط. مهاجمة الأهداف دون موافقة مسبقة متبادلة أمر غير قانوني. وتقع على عاتق المستخدم النهائي مسؤولية الامتثال لجميع القوانين المحلية والولائية والاتحادية المعمول بها. لا يتحمل المطوّرون أي مسؤولية ولا يُعتبرون مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج.

البدء

  1. شغّل حاوية Docker:

docker run -d -p 8080:8080 jrrdev/cve-2017-5638:latest

  1. حمّل سكربت الاستغلال على جهاز المهاجم من هنا

  2. شغّل سكربت الاستغلال المكتوب بلغة Python من جهاز المهاجم:

python exploit.py http://<DOCKER_HOST>:8080/hello "ls -l"

الاستخدام

توجد طريقتان لتشغيل هذا السكربت: مع تعدد الخيوط أو بدونه، والفرق الوحيد هو وقت التنفيذ. لتفعيل خاصية تعدد الخيوط، يكفي تمرير معامل thread. يجب أن يكون المعامل الأول ملفًا بصيغة TXT يحتوي على جميع عناوين URL المستهدفة، عنوان واحد في كل سطر. يُرجى ملاحظة أن هذه العناوين يجب أن تكون كاملة، على سبيل المثال: https://target.com/admin/myStrutsPage.action

فيما يلي مثال على الاستخدام بدون تعدد الخيوط:

root@kitploit:~
struts-shock-validation.py target_urls.txt

الآن مع استخدام خاصية الخيوط:

root@kitploit:~
struts-shock-validation.py target_urls.txt thread

CVE-2017-5638

http://struts.apache.org/docs/s2-016.html https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017

وحدة استغلال إطار عمل Metasploit لثغرة Apache Struts في ترويسة Content-Type لم يتم اختبارها على خادم Windows، ولكن تم اختبارها على خادم Linux باستخدام حمولة generic/shell_bind_tcp

CVE-2017-5638 كود PoC بلغة Python | DORK: ext:action

مثال لكود PoC لثغرة CVE-2017-5638 | استغلال Apache Struts | DORK: ext:action

الاستخدام: python struts.py https://victim.site dir

سكربت Python الأول الذي تم نشره لم يقم بتنسيق ترويسة Content-Type بشكل صحيح. أعدت كتابة ترويسة Content-Type لتنسيقها بشكل صحيح على النحو التالي: Content-Type:%20{Exploit}. كما أضفت تسجيلًا (logging) وRequests، ثم قمت بتفريغ خصائص الكائن إلى stdout.

مثال على المخرجات

التحقق من CVE-2017-5638 بواسطة XSS.Cx

Volume in drive D has no label. Volume Serial Number is 2A7B-A245 Directory of d:\Program Files\Apache Software Foundation\Tomcat 9.0

CVE-2017-5638

جدول المحتويات

  1. نظرة عامة
  2. التبعيات
  3. الاستخدام

نظرة عامة

هذا المشروع هو دليل إثبات للمفهوم (Proof of Concept) لثغرة Apache Struts. كان الهدف هو إنشاء برنامج يمكنه توليد واختبار عناوين IP عشوائية للتحقق من الثغرة الموصوفة أعلاه.

استخدم هذا المشروع على مسؤوليتك الخاصة ولأغراض تعليمية فقط.

التبعيات

  • cURL

    • يُستخدم cURL لإرسال الترويسة المصممة إلى عنوان IP معين على منفذ معين.
  • Nmap

    • يُستخدم Nmap لتوليد عناوين IP عشوائية تحتوي على منفذ مفتوح 80 أو 443.

الاستخدام

توليد عناوين IP عشوائية وحفظها في ملف نصي.

root@kitploit:~
./get_ip.sh [Number of hosts to scan] [What port to scan] [Filename to write output]
root@kitploit:~
./get_ip.sh 10000 80 output.txt

التحقق من وجود الثغرة لعنوان IP محدد.

root@kitploit:~
./struts_check.sh [ip address] [port]
root@kitploit:~
./struts_check.sh 127.0.0.1 80

التحقق من وجود الثغرة لقائمة من عناوين IP.

root@kitploit:~
./main.sh [Text file containing IP adresses] [Port]
root@kitploit:~
./main.sh output.txt 443

تنفيذ أمر على خادم بدون تصحيح ثغرة Apache Struts

root@kitploit:~
./struts_attack.sh [IP Adres] [Command]
root@kitploit:~
./struts_attack.sh https://127.0.0.1 whoami

# CVE-2017-5638 كود PoC بلغة Python | DORK: ext:action
مثال لكود PoC لثغرة CVE-2017-5638 | استغلال Apache Struts | DORK: ext:action

الاستخدام: python struts.py https://victim.site dir

سكربت Python الأول الذي تم نشره لم يقم بتنسيق ترويسة Content-Type بشكل صحيح.
أعدت كتابة ترويسة Content-Type لتنسيقها بشكل صحيح على النحو التالي: Content-Type:%20{Exploit}.
كما أضفت تسجيلًا (logging) وRequests، ثم قمت بتفريغ خصائص الكائن إلى stdout.

مثال على المخرجات

التحقق من CVE-2017-5638 بواسطة XSS.Cx

Volume in drive D has no label.
Volume Serial Number is 2A7B-A245
Directory of d:\Program Files\Apache Software Foundation\Tomcat 9.0

## النتائج
سيقوم السكربت تلقائيًا بإنشاء مجلد باسم results، وفي كل عملية تنفيذ سينشئ مجلدًا مؤرخًا يحتوي على نتيجة التنفيذ. إذا تم تفعيل تعدد الخيوط، فسيُنشئ ملفًا واحدًا لكل خيط باسم thread_<number>، ويمكن تجاهله لأنه عند اكتمال العملية سيتم دمج نتائج جميع الخيوط في ملف TXT واحد بنفس الاسم (التاريخ/الطابع الزمني) الخاص بمجلد التنفيذ.
تنزيل الأداة