Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-22510 — CVE-2025-22510의 PoC | Kitploit
도구/GitHubGitHub/dottak/cve-2025-22510
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubdottak/cve-2025-22510

CVE-2025-22510

CVE-2025-22510의 PoC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-22510

1️⃣ 구성 요소 유형

WordPress 플러그인

2️⃣ 구성 요소 세부 정보

구성 요소 이름 WC Price History for Omnibus

취약한 버전 <= 2.1.4

구성 요소 슬러그 wc-price-history

구성 요소 링크 https://wordpress.org/plugins/wc-price-history/

3️⃣ OWASP 2017: TOP 10

취약점 클래스 A3: Injection

취약점 유형 PHP Object Injection

4️⃣ 사전 요구 사항

Shop Manager(Administrator +)

5️⃣ 취약점 세부 정보

👉 간단한 설명

WC Price History for Omnibus 플러그인 버전 2.1.4 이하에서는 WooCommerce 대시보드의 'Price History' 메뉴(/wp-admin/admin.php?page=wc-price-history)에 있는 'Import debug data' 섹션을 통해 JSON 파일을 업로드할 수 있습니다. 업로드된 JSON 파일은 wc_price_history_import_file 페이로드로 전송되며, JSON 데이터의 serialized 키 값에서 PHP 객체 주입(PHP Object Injection) 취약점이 발생합니다. 이 취약점을 통해 Shop Manager 권한을 가진 공격자는 PHP 객체를 주입할 수 있습니다.

플러그인 자체에는 알려진 POP 체인이 없지만, 대상 WordPress 사이트의 다른 플러그인이나 테마에서 POP 체인이 발견될 경우 공격자는 임의 파일 삭제, 민감한 정보 탈취, 코드 실행을 수행할 수 있습니다.

👉 재현 방법(PoC)

  1. WC Price History for Omnibus 플러그인 버전 2.1.4 이하가 설치 및 활성화된 WordPress 사이트를 준비합니다.

    이 플러그인을 활성화하려면 WooCommerce 플러그인이 먼저 설치 및 활성화되어 있어야 합니다.

  2. PHP 객체 주입 취약점을 테스트하려면 wp-config.php 파일 맨 아래에 다음 클래스 PoC_POP_Chain_Object를 추가합니다.

    root@kitploit:~
    class PoC_POP_Chain_Object {
    	
    	public $message = "";
    
    	public function __destruct() {
    		echo "<mark>Success PoP Chain</mark>";
    		echo "<br>";
    		echo "<mark>msg: ". $this->message ."</mark>";
    	}
    }
    

    image

  3. 다음으로, 다음 JSON 데이터를 포함하는 파일을 생성합니다.

    이 JSON 데이터에서 serialized 키에 입력된 데이터는 PHP 직렬화 객체 형식으로, 앞서 wp-config.php 파일에 추가한 PoC_POP_Chain_Object 클래스의 인스턴스를 생성하고 message 속성에 문자열 'Exploit !!'을 할당합니다.

    root@kitploit:~
    {
        "serialized": "O:20:\"PoC_POP_Chain_Object\":1:{s:7:\"message\";s:10:\"Exploit !!\";}"
    }
    
  4. 다음으로, WooCommerce 대시보드의 'Price History' 메뉴(/wp-admin/admin.php?page=wc-price-history)로 이동합니다. 'Import debug data' 섹션에서 파일 업로드 양식을 통해 앞서 생성한 JSON 파일을 선택하고 'Import' 버튼을 클릭하여 업로드합니다.

👉 추가 정보(선택 사항)

[취약점 원인]

WooCommerce 대시보드의 'Price History' 메뉴(/wp-admin/admin.php?page=wc-price-history)에서 'Import debug data' 섹션을 통해 JSON 데이터를 업로드하고 'Import' 버튼을 클릭하면,

/wp-content/plugins/wc-price-history/app/PriorPrice/Import.php 파일의 Import 클래스에 정의된 import_file() 함수가 실행됩니다. 이 함수는 JSON 파일이 포함된 요청 페이로드 wc_price_history_import_file를 가져온 다음, 해당 JSON 데이터에서 키 serialized를 가진 데이터를 검색하고 maybe_unserialize 함수를 통해 역직렬화를 수행합니다.

image

따라서 요청 페이로드 wc_price_history_import_file은 JSON 형식이며, 검증 없이 키 serialized를 가진 직렬화된 데이터를 역직렬화하는 과정에서 PHP 객체 주입 취약점이 발생합니다.

6️⃣ 익스플로잇 데모

video

7️⃣ 참고 자료

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

image

  • 업로드 요청의 결과로, 응답 데이터에서 wp-config.php에 추가한 PoC_POP_Chain_Object 클래스의 매직 메서드 __destruct()가 실행되어 다음 메시지가 표시되는 것을 확인할 수 있습니다.

    root@kitploit:~
    <mark>Success PoP Chain</mark>
    <br>
    <mark>msg: Exploit !!</mark>
    

    image