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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-25157 — مختبر محلي لـ GeoServer/PostGIS يعيد إنتاج حقن SQL في OGC Filter (CVE-2023-25157/25158) مع أوضاع اختبار A/B للنسخ المصابة والمصححة والمخففة. | Kitploit
أدوات/GitHubGitHub/ivanesk315/cve-2023-25157
ماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالتعلم والتعليمأمن قواعد البياناتمختبرات وتدريب عملي
GitHubivanesk315/cve-2023-25157

CVE-2023-25157

مختبر محلي لـ GeoServer/PostGIS يعيد إنتاج حقن SQL في OGC Filter (CVE-2023-25157/25158) مع أوضاع اختبار A/B للنسخ المصابة والمصححة والمخففة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مختبر CVE-2023-25157 و CVE-2023-25158

يستخدم هذا المختبر GeoServer/PostGIS لدراسة حقن SQL في OGC Filter ضمن بيئة محلية، مع فصل واضح بين وضع المشغّل/الإعداد ووضع المهاجم.

  • CVE-2023-25157: سطح منتج GeoServer، حيث تمر طلبات WFS/WMS عبر ترميز JDBC filter.
  • CVE-2023-25158: السبب الجذري في مكتبة GeoTools JDBC، التي يستخدمها GeoServer لتحويل OGC filter إلى SQL.

GeoServer 2.22.0 يتضمن GeoTools المصابة. GeoServer 2.22.2 يتضمن GeoTools المُرقّعة. يحافظ المختبر على نفس المخطط/الطلب لاختبار A/B للإصدار، والتخفيف، وحدود الصلاحيات.

البنية

الوضعالسطحالغرض
Setup/operator RESTحاوية cve-operator الداخليةإعداد REST، والتحقق، ومراجعة سجلات الواجهة الخلفية
بوابة واحدة127.0.0.1:8889منفذ واحد لواجهة المشغّل ومسارات OWS
Operator Web UI127.0.0.1:8889/geoserver/web/واجهة GeoServer للمشغّل؛ مع Basic Auth proxy
Attacker vulnerable127.0.0.1:8889/vuln/geoserver/owsWFS/OWS مصاب، وأخطاء قاعدة البيانات تظهر في الاستجابة
Attacker patched127.0.0.1:8889/patched/geoserver/owsGeoServer 2.22.2 / GeoTools 28.2
Attacker realistic127.0.0.1:8889/realistic/geoserver/owsWFS/OWS مصاب لكن البوابة تحذف تفاصيل الأخطاء
Mitigation function127.0.0.1:8889/mit-functions/geoserver/owsGeoServer 2.22.0، encode functions=false
Mitigation FeatureId127.0.0.1:8889/mit-featureid/geoserver/owsGeoServer 2.22.0، preparedStatements=true

لا ينشر PostgreSQL/PostGIS منفذاً إلى المضيف. لا ينشر GeoServer المنفذ 8080 مباشرة إلى المضيف؛ يرى المضيف فقط cve-gateway على 127.0.0.1:8889. حاوية cve-attacker موجودة فقط في attacker-net؛ ليس لديها مسار إلى PostgreSQL أو خدمة GeoServer الداخلية. يمر إعداد REST عبر الحاوية الداخلية cve-operator على geoserver-net.

واجهة المشغّل على الويب

افتح في المتصفح:

root@kitploit:~
http://127.0.0.1:8889/geoserver/web/

تسجيل الدخول بطبقتين:

  1. Proxy operator Basic Auth: operator / operator_lab
  2. GeoServer UI: admin / geoserver

كل شيء يمر عبر نفس البوابة 8889، دون الحاجة لتذكر منافذ متعددة. يمكن لـ Burp الاحتفاظ بالبروكسي الافتراضي 127.0.0.1:8080.

تشغيل المختبر

root@kitploit:~
.\lab.ps1 reset all
.\lab.ps1 validate
powershell -ExecutionPolicy Bypass -File .\verify-lab.ps1
powershell -ExecutionPolicy Bypass -File .\negative-controls.ps1
powershell -ExecutionPolicy Bypass -File .\attack-chain.ps1

أوامر الإدارة:

root@kitploit:~
.\lab.ps1 start vulnerable
.\lab.ps1 start patched
.\lab.ps1 start mitigated
.\lab.ps1 start worstcase
.\lab.ps1 reset all
.\lab.ps1 stop
.\lab.ps1 status

البيانات والأدوار

جداول البذور:

  • cities: مفتاح أساسي صحيح، عمود name نصي، يُستخدم لـ strStartsWith/strEndsWith.
  • sensors_text: مفتاح أساسي نصي، يُستخدم لحقن FeatureId.
  • sensors_int: مفتاح أساسي صحيح، ضابط سلبي لـ FeatureId.
  • events: طبقة بحث JSONB.
  • internal_assets: غير منشور، يحتوي على LAB-CANARY-<UUID> جديد بعد كل إعادة تعيين.
  • local_points: ضابط سلبي shapefile غير JDBC.

الأدوار:

  • geoserver_readonly: CONNECT، USAGE على المخطط، SELECT فقط على الجداول المنشورة.
  • geoserver_impact: SELECT إضافي على internal_assets لتوضيح مستخدم قاعدة بيانات التطبيق عبر صلاحيات واسعة.
  • geoserver_worstcase: ملف تعريف منفصل، يمتلك pg_read_server_files لقراءة ملف canary المزيف /lab/flag.txt.

مسار attack-chain

ينفذ attack-chain.ps1 ما يلي:

  1. استطلاع WFS GetCapabilities.
  2. تعداد المخطط DescribeFeatureType.
  3. طلبات الأساس والطلبات السلبية.
  4. أوراكل Boolean TRUE/FALSE على البروكسي الواقعي.
  5. تأكيد CVE-2023-25157 مع vulnerable وpatched وencode functions=false.
  6. تأكيد CVE-2023-25158 مع vulnerable وpatched وpreparedStatements=true.
  7. الضوابط السلبية: مفتاح أساسي صحيح وshapefile غير JDBC.
  8. تسريب مستخدم قاعدة البيانات واكتشاف الجدول المخفي عبر فرع impact.
  9. إثبات أن least-privilege يمنع internal_assets، وفرع impact يسرب canary، وpatched/realistic لا يكشفان canary.

يُحفظ الدليل في evidence/attack-chain-*. يحتفظ المجلد الحالي فقط بأحدث دليل ناجح لتجنب الفوضى.

ملف تعريف worst-case

هذا الملف ليس ضمن السيناريو الرئيسي:

root@kitploit:~
.\lab.ps1 start worstcase
powershell -ExecutionPolicy Bypass -File .\worstcase-demo.ps1

يقرأ فقط ملف canary المزيف /lab/flag.txt، ولا يقرأ /etc/passwd، ولا يفرّغ التجزئات، ولا يكسر كلمات المرور.

المصادر الرسمية

  • GeoServer advisory: https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
  • GeoTools advisory: https://github.com/geotools/geotools/security/advisories/GHSA-99c3-qc2q-p94m
  • GeoServer statement: https://geoserver.org/vulnerability/2023/02/20/ogc-filter-injection.html
  • NVD CVE-2023-25157: https://nvd.nist.gov/vuln/detail/CVE-2023-25157
  • NVD CVE-2023-25158: https://nvd.nist.gov/vuln/detail/CVE-2023-25158
تنزيل الأداة