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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
phpmyadmin-designer-json-sqli — phpMyAdmin 5.2.3 - 높음 - 원격 - SQLi - Designer JSON 미살균 식별자 | Kitploit
도구/GitHubGitHub/abraxas/phpmyadmin-designer-json-sqli
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingDatabase SecurityLabs & Practice
GitHub
abraxas/phpmyadmin-designer-json-sqli

phpmyadmin-designer-json-sqli

phpMyAdmin 5.2.3 - 높음 - 원격 - SQLi - Designer JSON 미살균 식별자

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - phpmyadmin-designer-json-sqli

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-designer-json-sqli

phpmyadmin-designer-json-sqli

분류: SQLi 도달 범위: 원격

phpMyAdmin 5.2.3 (태그 RELEASE_5_2_3, 커밋 962857e). Designer AJAX save_setting_value는 설정 블롭을 json_encode한 뒤 control-user 링크에 대한 단일 인용부호 UPDATE/INSERT에 연결합니다. 사용자 이름은 이스케이프됩니다. JSON은 그렇지 않습니다. json_encode는 단일 인용부호를 이스케이프하지 않습니다.

로그인한 사용자가 operation=save_setting_value와 value에 인용부호를 포함하여 index.php?route=/database/designer에 POST합니다. 그러면 queryAsControlUser가 해당 문자열을 pma control user로 pma__designer_settings에 대해 실행합니다. 그 계정은 구성 저장소이며, 로그인한 SQL 박스가 아닙니다. phpMyAdmin 6.x는 ControlUser에서 이 블롭을 quoteString으로 감쌉니다. 5.2.3은 여전히 그대로 연결합니다.

이전 designer CVE들(2016-6616, 2019-11768, 2019-18622)은 사용자 이름 / 데이터베이스 이름이었습니다. 이 잔여물은 JSON settings_data 컬럼입니다.

ID아직 CVE 없음
분류SQLi (pma__designer_settings에 대한 control-user)
도달 범위원격 (인증된 쿠키 로그인; Designer + pma__designer_settings 활성화)
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 (962857e)
인증인증된 쿠키 로그인. Designer + pma__designer_settings 활성화.
라이선스GNU Affero GPL v3.0
랩127.0.0.1:19220 전용

공격자가 할 수 있는 일

Designer를 열 수 있는 로그인한 phpMyAdmin 사용자는 pma__designer_settings에 대해 control user로 SQL을 주입할 수 있습니다.

권한메서드 / 경로랩에서 입증됨 또는 추정됨
control-user UPDATE/INSERT 문자열을 깨뜨림 (pmadb SQL의 무결성)POST index.php?route=/database/designer operation=save_setting_value에 value 내 인용부호 포함랩에서 입증됨. 일반 로그: SET settings_data = '{"snap_line":"PMA-DESIGNER-JSON-SQLI-WITNESS'#" }' 원시. quoteString 없음
자신의 settings_data를 잘라 더 이상 JSON이 아니게 만듦 (자신의 행 무결성)동일 POST; #가 나머지 구문을 주석 처리랩에서 입증됨. appuser 블롭에 witness가 포함되며 유효한 JSON이 아님. 정상 저장 grid-ok가 사라짐
스택 쿼리 없이 다른 사용자의 designer 행을 덮어씀 (피해자 행 무결성)동일 #가 WHERE username = '...'를 주석 처리랩에서 입증됨. 시드 victim {"keep":"safe"}가 잘린 witness 블롭이 됨
control user로서 추가 구문control mysqli 링크가 다중 쿼리를 허용하는 경우 동일 싱크추정됨. 기본 mysqli::query는 단일 구문. 여기서는 활성화되지 않음
다른 pmadb 테이블(bookmarks, history, pma__userconfig)에 도달스택 쿼리 또는 쓰기 방식의 탈출이 가능한 경우에만추정됨. 이 랩의 control user는 phpmyadmin.* DML만 가짐

이 랩에서 차단됨: 인증되지 않은 접근, 로그인한 appuser SQL 박스(appdb 전용; appuser는 phpmyadmin에 대한 GRANT 없음), OS 셸, 스택 쿼리. pmadb / designer settings가 꺼져 있으면 기능이 무력화됨(이는 FAIL이며, 이 잔여물이 아님).

발견 방법

RELEASE_5_2_3에 대한 8개의 병렬 소스 사냥. saveSetting은 json_encode를 '...'에 연결합니다. 사용자 이름은 escapeString입니다. 6.x는 이미 이 블롭을 quoteString합니다. 5.2.3은 그렇지 않습니다.

잘못된 방향: 사용자 이름에 주입(이스케이프됨); #1064 기대(#가 나머지를 주석 처리하므로 MySQL은 잘린 UPDATE를 받아들임); 스택 쿼리를 입증된 것으로 취급(mysqli 기본은 단일 구문).

랩

python3 phpmyadmin-designer-json-sqli-Abraxas-Labs.py

또는

cd lab
./run.sh

루프백 전용: http://127.0.0.1:19220. 이미지 phpmyadmin:5.2.3 및 mysql:8.0. Compose 프로젝트 phpmyadmin-designer-json-sqli. Witness PMA-DESIGNER-JSON-SQLI-WITNESS.

SUCCESS phpmyadmin-designer-json-sqli version=5.2.3 how=live raw-concat=yes truncated=true sql-error=false quoteString=no PMA-DESIGNER-JSON-SQLI-WITNESS

수정

JSON 블롭에 quoteString(..., ControlUser) / escapeString 적용, RecentFavoriteTable::saveToDb() 및 이 컬럼에 대한 phpMyAdmin 6.x와 동일. json_encode 출력을 단일 인용부호 SQL 리터럴 안에 넣지 마십시오.

참고

  • github.com/phpmyadmin/phpmyadmin 태그 RELEASE_5_2_3 (962857e)
  • libraries/classes/Database/Designer/Common.php saveSetting
  • Controllers/Database/DesignerController.php POST operation=save_setting_value
  • 라우트 GET|POST /database/designer
  • 동일 핀 잔여물: phpmyadmin-webauthn · phpmyadmin-pmadb-central-sqli · phpmyadmin-setup-validate · phpmyadmin-csrf-sql
  • CWE-89

라이선스

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

도구 다운로드