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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-22652 — CVE-2025-22652 PoC | Kitploit
도구/GitHubGitHub/dottak/cve-2025-22652
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubdottak/cve-2025-22652

CVE-2025-22652

CVE-2025-22652 PoC

저장소 보기
1501년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-22652

1️⃣ 구성 요소 유형

WordPress 플러그인

2️⃣ 구성 요소 세부 정보

구성 요소 이름 Payment Forms for Paystack

취약한 버전 <= 4.0.1

구성 요소 슬러그 payment-forms-for-paystack

구성 요소 링크 https://wordpress.org/plugins/payment-forms-for-paystack/

3️⃣ OWASP 2017: TOP 10

취약점 클래스 A3: 인젝션

취약점 유형 SQL 인젝션

4️⃣ 사전 요구 사항

관리자

5️⃣ 취약점 세부 정보

👉 간단한 설명

Payment Forms for Paystack 플러그인 버전 4.0.1 이하에서, 결제 양식의 결제 목록을 볼 때 URL 매개변수 order에 대한 충분하지 않은 입력 검증 및 이스케이프 처리로 인해 SQL 인젝션 취약점이 존재합니다. 이를 통해 관리자 권한을 가진 공격자는 대상 사이트 데이터베이스의 모든 정보를 추출할 수 있습니다.

이 취약점은 직접적인 데이터 쿼리를 허용하지 않지만, 시간 기반 SQL 인젝션 기법을 사용하여 데이터를 추출할 수 있습니다.

👉 재현 방법 (PoC)

  1. Payment Forms for Paystack 플러그인 버전 4.0.1 이하가 설치된 WordPress 사이트를 준비합니다.

  2. 조회를 수행하려면 Paystack 양식을 추가해야 하므로, Paystack 양식 추가 메뉴(wp-admin/post-new.php?post_type=paystack_form)에서 양식을 추가합니다.

    image

  3. 양식을 추가한 후, 쇼트코드를 확인할 수 있으며, 아래 URL의 URL 매개변수 form에 해당 쇼트코드의 속성 ID를 삽입한 후 접속합니다.

    http://localhost:8080/wp-admin/edit.php?post_type=paystack_form&page=submissions&form=<삽입 지점>&orderby=&order=,+(select+sleep(5)+from+dual+where+1=1)
    

    예를 들어, [pff-paystack id="13"]인 경우, http://localhost:8080/wp-admin/edit.php?post_type=paystack_form&page=submissions&form=13&orderby=&order=,+(select+sleep(5)+from+dual+where+1=1)에 접속합니다.

    image

  4. 결과적으로 URL 매개변수 order에 삽입된 SQL 인젝션 페이로드의 조건절 where 1=1이 항상 참이므로, sleep(5) 함수가 실행되어 응답이 5초 후에 오는 것을 확인할 수 있습니다.

    image

  5. 반면, order에 삽입된 SQL 인젝션 페이로드의 조건절을 where 1=2로 변경하면 응답이 즉시 오는 것을 확인할 수 있습니다.

    http://localhost:8080/wp-admin/edit.php?post_type=paystack_form&page=submissions&form=<삽입 지점>&orderby=&order=,+(select+sleep(5)+from+dual+where+1=2)
    

    예를 들어, [pff-paystack id="13"]인 경우, http://localhost:8080/wp-admin/edit.php?post_type=paystack_form&page=submissions&form=13&orderby=&order=,+(select+sleep(5)+from+dual+where+1=2)에 접속합니다.

    image

👉 추가 정보 (선택사항)

[취약점 원인]

취약점이 발생하는 URL을 요청하면 /wp-content/plugins/payment-forms-for-paystack/includes/classes/class-helpers.php 파일의 get_payments_by_id 함수가 호출됩니다.

이때 URL 매개변수 order가 입력 검증이나 이스케이프 처리 없이 SQL 쿼리에 직접 삽입되어 데이터베이스에서 실행됩니다.

image

따라서 URL 매개변수 order에 SQL 인젝션 페이로드 , (select sleep(5) from dual where 1=1)가 삽입되면 아래와 같은 SQL 쿼리가 실행됩니다. 이때 페이로드의 조건절이 참인지 거짓인지에 따라 응답 시간에 차이가 발생하며, 이 시간 차이를 이용하여 데이터베이스에서 데이터를 추출할 수 있습니다.

SELECT * FROM %i WHERE post_id = %d AND paid = %s ORDER BY %i , (select sleep(5) from dual where 1=1)

[PoC 코드 구현 및 실행]

  1. PoC 코드를 편집기에서 열고 WordPress 사이트 주소와 관리자 자격 증명을 입력합니다.

    image

  2. 그런 다음 다음 명령을 입력하여 PoC 코드를 실행합니다.

    필수 모듈 requests

    python poc.py
    

    image

6️⃣ 익스플로잇 데모

video

7️⃣ 참고 자료

  • https://nvd.nist.gov/vuln/detail/CVE-2025-22652
도구 다운로드