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 - 인증 플러그인 식별자 미인용

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - phpmyadmin-auth-plugin-unquoted

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

분석 문서: https://abraxaslabs.tech/research/phpmyadmin-auth-plugin-unquoted

phpmyadmin-auth-plugin-unquoted

분류: SQLi 도달 범위: 원격

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 없음
분류SQLi
도달 범위원격 (인증된 쿠키 로그인, 비밀번호 변경 활성화)
CWECWE-89
CVSS높음: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
제품phpMyAdmin
영향받는 버전5.2.3 태그 RELEASE_5_2_3 (962857e4f63d42e38f11ff4d63f5e722018add76)
인증인증된 쿠키 로그인. $cfg['ShowChgPassword'] 기본값 true. 인증 유형이 config가 아님
라이선스GNU Affero GPL v3.0
실습 환경127.0.0.1 전용

공격자가 할 수 있는 일

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

권한방법 / 싱크정찰 / 무결성 / 가용성실습 환경 입증 또는 추론
IDENTIFIED WITH에 추가 SQL 전송authentication_plugin을 포함한 POST index.php?route=/user-passwordphpMyAdmin이 구성하는 구문의 무결성실습 환경 입증. 원시 POST sha256_password /*PMA-AUTH-PLUGIN-UNQUOTED-WITNESS*/가 SQL 박스에 따옴표 없이 나타남
MySQL이 해당 추가 SQL을 SQL로 파싱하도록 함동일 구문이 mysqld에 도달사용자 연결의 무결성실습 환경 입증. General log에 플러그인 sha256_password가 유지되고 주석은 제거됨. 이 사용자에게 CREATE USER 권한이 없어 1227 발생
탈출이 파싱될 경우 추가 절 또는 추가 계정동일 싱크; 스택 쿼리는 드라이버에 따라 다름다른 계정의 무결성추론. 이 실습 환경은 두 번째 구문을 실행하거나 다른 계정을 생성하지 않음
사용자 추가/편집 시 동일한 문자열 연결Privileges.php의 IDENTIFIED WITH / MariaDB의 VIA권한 부여자가 구성한 구문의 무결성추론된 유사 경로. 실습 환경의 POST는 비밀번호 변경에 한정됨

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

동일 고정 버전: WebAuthn CustomServer 잔여 문제.

발견 경위

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을 잔여물의 실패로 취급한 것(이는 추가 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를 참조하십시오. 루프백 실습 환경 전용입니다. 보증은 제공되지 않습니다.

도구 다운로드