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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
phpmyadmin-csrf-sql — phpMyAdmin 5.2.3 - 높음 - 원격 - CSRF - /sql에서 토큰 제거 | Kitploit
도구/GitHubGitHub/abraxas/phpmyadmin-csrf-sql
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLabs & Practice
GitHubabraxas/phpmyadmin-csrf-sql

phpmyadmin-csrf-sql

phpMyAdmin 5.2.3 - 높음 - 원격 - CSRF - /sql에서 토큰 제거

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - phpmyadmin-csrf-sql

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  phpmyadmin-csrf-sql

phpmyadmin-csrf-sql

Class: CSRF Reach: Remote

phpMyAdmin 5.2.3 (tag RELEASE_5_2_3, commit 962857e). Common.php는 checkTokenRequestParam 이전에 전역 변수로부터 PSR-7 요청을 생성한다. 불일치 시 Sanitize::removeRequestVars는 $_POST와 $_GET을 지우지만 그 스냅샷은 지우지 않는다. 그런 다음 $sql_query가 $request->getParsedBodyParam('sql_query')에서 복사된다. AJAX POST는 토큰 불일치 시 중단된다. 비 AJAX POST는 계속된다. SqlController는 제거된 $_POST['sql_query']를 우선하고, 그렇지 않으면 전역 변수를 유지한다.

phpMyAdmin 세션 쿠키를 가진 피해자만 있으면 충분하다. sql_query와 함께, 유효한 토큰 없이, ajax_request 없이 index.php?route=/sql로 POST하면 된다. SELECT는 해당 MySQL 사용자로 실행된다. 5.2.3의 기본 CookieSameSite=Strict는 많은 교차 사이트 브라우저를 차단한다. 동일 사이트, Lax, None, 또는 HTTP 인증은 여전히 취약하다. 어느 쪽이든 이것은 깨진 CSRF 제어이다.

ID아직 CVE 없음
ClassCSRF
ReachRemote. 기본 CookieSameSite=Strict는 많은 교차 사이트 브라우저를 차단한다. 동일 사이트 / Lax / None / HTTP 인증은 여전히 남아 있다.
CWECWE-352
CVSSHigh: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
ProductphpMyAdmin
Affected5.2.3 tag RELEASE_5_2_3 (962857e)
Auth피해자 phpMyAdmin 세션 쿠키 (또는 HTTP 인증). 유효한 CSRF 토큰 없음.
LicenseGNU Affero GPL v3.0
Lab127.0.0.1:19240 전용

공격자가 할 수 있는 일

피해자 브라우저가 ajax_request 없이 phpMyAdmin에 POST하도록 유도할 수 있는 사람은 누구나 해당 MySQL 사용자로 SQL을 실행할 수 있다.

PrivilegeMethod / pathLab-proven or inferred
피해자 MySQL 계정으로 공격자 SQL 실행 (해당 SQL 박스의 무결성 + 정찰)POST index.php?route=/sql sql_query=... db=... no token, no ajax_requestLab-proven. 결과 본문에 PMA-CSRF-SQL-WITNESS 포함. General log에 appuser로 SELECT 기록됨
AJAX에서 동일 핸들러 중단Same POST with ajax_request=1Lab-proven. Token mismatch. INSERT 마커 행 없음. General log에 해당 INSERT 실행되지 않음
제거된 $_POST만 읽는 핸들러 건너뛰기POST /database/structure/drop-table without a tokenLab-proven. keepme 여전히 존재
export (SaveDir), partition DROP/TRUNCATE, account lock, /config/set, pmadb create에서 동일한 갭제거 후 PSR-7 본문을 읽는 모든 핸들러Inferred. 실행되지 않음

이 랩에서 닫힌 것: 인증되지 않은 PMA (먼저 쿠키 로그인 필요), AJAX 라우트 (불일치 시 종료됨), 토큰 없는 drop-table, OS shell. 기본 Strict SameSite는 고전적인 교차 사이트 폼이 종종 쿠키를 전송하지 않음을 의미한다. 남은 것은 동일 사이트 및 Lax/None 배포에서 여전히 실패한 CSRF 검사이다.

발견 방법

RELEASE_5_2_3의 8개 병렬 소스 탐색. Common.php는 checkTokenRequestParam() 이전에 $request = createFromGlobals()를 생성한다. 불일치 시 Sanitize::removeRequestVars()는 $_POST/$_GET만 지운다. 비 AJAX는 계속된다. SqlController는 $_POST가 비어 있으면 전역 $sql_query를 사용한다. 라우트 GET|POST /sql.

잘못된 방향: AJAX /sql을 잔여물로 취급 (Token mismatch로 중단됨); drop-table을 잔여물로 취급 (해당 핸들러는 제거된 $_POST만 읽음); 기본 Strict SameSite를 "CSRF가 닫혔다"로 취급 (제어는 여전히 깨져 있음; 동일 사이트 / Lax / None이 남아 있음).

Lab

python3 phpmyadmin-csrf-sql-Abraxas-Labs.py

또는

cd lab
./run.sh

루프백 전용: http://127.0.0.1:19240. 이미지 phpmyadmin:5.2.3 및 mysql:8.0. Compose 프로젝트 phpmyadmin-csrf-sql. PoC는 동일 사이트 루프백 POST이다 (Strict SameSite도 쿠키를 전송함). Witness PMA-CSRF-SQL-WITNESS.

SUCCESS phpmyadmin-csrf-sql sql-ran=yes ajax-abort=yes drop-held=yes PMA-CSRF-SQL-WITNESS

수정 방법

불일치 시 요청을 빈 본문으로 교체하거나, AJAX뿐만 아니라 모든 POST를 거부하라. 오래된 요청에서 sql_query를 복사하지 마라. logout처럼 fail closed하라.

참고 자료

  • github.com/phpmyadmin/phpmyadmin tag RELEASE_5_2_3 (962857e)
  • libraries/classes/Common.php 토큰 제거 이전의 요청 스냅샷
  • Sanitize::removeRequestVars는 $_POST/$_GET만 지움
  • SqlController 전역 $sql_query
  • 동일 핀 잔여물: phpmyadmin-webauthn · phpmyadmin-pmadb-central-sqli · phpmyadmin-designer-json-sqli · phpmyadmin-setup-validate
  • CWE-352

License

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

도구 다운로드