Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
phpmyadmin-auth-plugin-unquoted — phpMyAdmin 5.2.3 - 높음 - 원격 - SQLi - 인증 플러그인 식별자 미인용 | Kitploit
도구/GitHubGitHub/abraxas/phpmyadmin-auth-plugin-unquoted
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingDatabase Security
GitHub
abraxas/phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

phpMyAdmin 5.2.3 - 높음 - 원격 - SQLi - 인증 플러그인 식별자 미인용

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - phpmyadmin-auth-plugin-unquoted

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

Class: SQLi Reach: Remote

phpMyAdmin 5.2.3 (RELEASE_5_2_3 / 962857e) - phpMyAdmin

비밀번호 변경은 기본적으로 켜져 있습니다. UserPassword.php는 POST authentication_plugin을 허용 목록도 없이, 따옴표 처리도 없이 ALTER USER ... IDENTIFIED WITH에 복사합니다. 같은 구문에 있는 사용자 이름, 호스트, 비밀번호는 escapeString을 거칩니다. MySQL 8에서는 게시된 플러그인이 현재 플러그인과 다를 때 WITH 절이 출력됩니다.

로그인한 phpMyAdmin 사용자가 비밀번호 변경 폼을 통해 자신의 ALTER USER에 SQL을 주입합니다. 플러그인 필드에 들어간 추가 SQL은 플러그인 이름이 아니라 SQL입니다.

ID아직 CVE 없음
ClassSQLi
ReachRemote (인증된 쿠키 로그인, 비밀번호 변경 켜짐)
CWECWE-89
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
ProductphpMyAdmin
Affected5.2.3 태그 RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
Auth인증된 쿠키 로그인. $cfg['ShowChgPassword'] 기본값 true. 인증 유형은 config가 아님
LicenseGNU Affero GPL v3.0
Lab127.0.0.1 전용

공격자가 할 수 있는 일

로그인한 phpMyAdmin 사용자가 비밀번호 변경 폼을 통해 자신의 ALTER USER에 SQL을 주입할 수 있습니다.

PrivilegeMethod / sinkRecon / integrity / availabilityLab-proven or inferred
IDENTIFIED WITH에 추가 SQL 전송POST index.php?route=/user-password with authentication_pluginphpMyAdmin이 생성하는 구문의 무결성Lab-proven. Raw POST sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/가 SQL 박스에 따옴표 없이 나타남
MySQL이 그 추가 SQL을 SQL로 파싱하게 함동일 구문이 mysqld에 도달사용자 연결의 무결성Lab-proven. General log가 플러그인 sha256_password를 유지하고 주석을 버림. 이 사용자에게 CREATE USER 권한이 없어 1227 발생
탈출이 파싱되면 추가 절 또는 추가 계정동일 sink; 스택 쿼리는 드라이버에 의존다른 계정의 무결성Inferred. 이 랩은 두 번째 구문을 실행하거나 다른 계정을 생성하지 않음
add/edit user에서 동일한 concatPrivileges.php IDENTIFIED WITH / MariaDB VIA권한 부여자가 생성한 구문의 무결성Inferred sibling. 랩 POST는 비밀번호 변경 전용

이 경로에서 제외된 것: 비인증 사용(쿠키 로그인 필요), config-auth(비밀번호 변경이 숨겨짐), RCE, MySQL 8에서 GRANT 없이 플러그인 변경 성공(1227 without CREATE USER). 사용자 이름, 호스트, 비밀번호는 이스케이프된 상태로 유지됩니다. 자신의 비밀번호에는 GRANT가 필요하지 않습니다. 남는 것은 자유로운 플러그인 교체가 아니라 따옴표 처리되지 않은 플러그인 필드입니다.

동일 핀: WebAuthn CustomServer leftover.

발견 방법

phpmyadmin/phpmyadmin RELEASE_5_2_3을 핀했습니다. PMASA-2025-1/2/3은 이미 5.2.2에 있습니다. 비밀번호 변경은 여전히 다음과 같이 생성됩니다:

return 'ALTER USER \'' . $dbi->escapeString($username)
    . '\'@\'' . $dbi->escapeString($hostname)
    . '\' IDENTIFIED WITH ' . $authPlugin . ' BY '

$authPlugin은 $_POST['authentication_plugin']입니다. MySQL 5.7.37+ 및 8.0은 플러그인이 변경되지 않으면 WITH를 생략합니다. 다른 이름을 POST하면 절이 다시 나타납니다.

이미 기록된 잘못된 방향: MySQL 1227을 leftover의 실패로 취급(이는 추가 SQL이 파싱되었다는 증거임); MySQL 8에서 GRANT 없는 플러그인 변경을 주장; config-auth를 범위 내로 취급; 리버스 셸. 연극.

Lab

python3 phpmyadmin-auth-plugin-unquoted-Abraxas-Labs.py
# or: cd lab && ./run.sh

오직 http://127.0.0.1:19260만 대상으로 합니다. 이미지 phpmyadmin:5.2.3 및 mysql:8.0. Compose 프로젝트 phpmyadmin-auth-plugin-unquoted. 실행 후 스택은 해체됩니다.

appuser로 쿠키 로그인. authentication_plugin=sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/로 /user-password에 POST. PMA SQL 쿼리 박스: ALTER USER 'appuser'@'%' IDENTIFIED WITH sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/ BY '***'. MySQL general log가 주석을 파싱하고 IDENTIFIED WITH 'sha256_password'를 저장합니다. 사용자 이름은 따옴표로 처리됩니다.

SUCCESS phpmyadmin-auth-plugin-unquoted how=live unquoted=yes escaped-user=yes plugin=sha256_password PMA-AUTH-PLUGIN-UNQUOTED-WITNESS

수정 방법

SHOW PLUGINS에서 플러그인 이름을 허용 목록으로 관리하세요. POST를 IDENTIFIED WITH, VIA, 또는 plugin=에 절대 보간하지 마세요.

참고 자료

  • github.com/phpmyadmin/phpmyadmin 태그 RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
  • libraries/classes/UserPassword.php
  • libraries/classes/Server/Privileges.php
  • 동일 핀: PMA-5.2.3-WebAuthn-2FA
  • CWE-89

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 랩 전용. 보증 없음.

도구 다운로드