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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Ghost-CMS-Code-Injection-Audit-CVE-2026-26980 — 오래된 Ghost CMS 웹사이트가 CVE-2026-26980으로 인해 손상된 경우 페이지에 스팸 코드 인젝션이 주입될 수 있습니다. 이를 사용하여 코드 인젝션 필드를 일괄 삭제 및 편집하세요. | Kitploit
도구/GitHubGitHub/kulik-labs-development/ghost-cms-code-injection-audit-cve-2026-26980
Defensive ToolsVulnerability ScannersCode AnalysisWeb SecurityMisconfigurationIncident Response
GitHubkulik-labs-development/ghost-cms-code-injection-audit-cve-2026-26980

Ghost-CMS-Code-Injection-Audit-CVE-2026-26980

오래된 Ghost CMS 웹사이트가 CVE-2026-26980으로 인해 손상된 경우 페이지에 스팸 코드 인젝션이 주입될 수 있습니다. 이를 사용하여 코드 인젝션 필드를 일괄 삭제 및 편집하세요.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
212개월 전아직 검토되지 않음

Ghost CMS 코드 주입 정리 도구

Admin API를 통해 Ghost CMS 웹사이트의 모든 게시물과 페이지에서 주입된 코드를 제거합니다.

코드 주입 취약점 CVE-2026-26980의 영향을 받은 Ghost 사이트 등, 침해된 Ghost 사이트를 정리할 때 사용하세요. 공격자가 삽입한 <script> 태그와 기타 주입된 마크업을 각 게시물 및 페이지의 Header와 Footer 코드 주입 필드에서 제거합니다.

기본적으로 안전하며(먼저 드라이런, 그다음 적용) 엄격하게 범위가 제한됩니다. 이 도구는 해당 두 개의 게시물별 필드만 비웁니다. 사이트 전체 코드 주입(Ghost Admin → Settings → Code injection), 게시물 콘텐츠 및 기타 모든 설정은 절대 건드리지 않습니다.


요구 사항

  • Python 3.8+
  • 두 개의 pip 패키지 (requirements.txt 참조):
pip install -r requirements.txt

설정

1. Admin API 키 발급받기

  1. Ghost Admin에 로그인합니다
  2. Settings → Integrations로 이동합니다
  3. Add custom integration을 클릭하고 이름을 지정합니다 (예: "Cleaner")
  4. Admin API Key를 복사합니다 — 다음과 같은 형태입니다:
    6478abc123def456:8f9e0d1c2b3a4567890abcdef1234567890abcdef1234567890abcdef12345678
    

2. 구성 파일 생성

스크립트와 동일한 디렉터리에 ghost_cleaner_config.json이라는 파일을 생성하세요:

{
  "ghost_url": "https://yourdomain.com",
  "admin_api_key": "YOUR_KEY_ID:YOUR_KEY_SECRET"
}

이 단계를 건너뛰면 스크립트가 첫 실행 시 예제 구성 파일을 생성한 후 종료됩니다 — 파일을 채운 뒤 다시 실행하세요.


사용법

드라이런 (안전, 변경 사항 기록 없음)

무엇이든 건드리기 전에 정확히 무엇이 삭제될지 확인하려면 항상 이것을 먼저 실행하세요:

python3 ghost_injection_cleaner.py

예시 출력:

  Ghost Injection Remover
  Mode  : DRY-RUN (read-only)
  Target: https://yourdomain.com

  NOTE: /ghost/api/admin/settings/ (site-wide injection) is
        never read or written by this script.

============================================================
  POSTS
============================================================
  47 posts fetched.

  ✦  'My First Post'
     HEAD: '<script>(function(){var _x="...obfuscated..."</script>'
      🔍  DRY-RUN - would be cleared.

============================================================
  PAGES
============================================================
  6 pages fetched.

============================================================
  SUMMARY
============================================================
  Would clear  : 1 posts/pages
  Already clean: 52 posts/pages

  Re-run with --apply to commit these changes.

변경 사항 적용

드라이런 출력에 만족하면 --apply를 사용하여 실행하세요. 확인을 요청하는 메시지가 표시됩니다:

python3 ghost_injection_cleaner.py --apply
  Type YES to confirm changes to posts and pages: YES
  ...
  ✅  Cleared.

사용자 지정 구성 파일 경로 사용

python3 ghost_injection_cleaner.py --config /path/to/my_config.json

지우는 대상

모든 포스트와 페이지에 대해 다음 두 필드를 null로 설정합니다:

필드Ghost 편집기 내 위치
codeinjection_head포스트/페이지 설정 → 코드 삽입 → 헤더
codeinjection_foot포스트/페이지 설정 → 코드 삽입 → 푸터

삽입된 코드가 없는 포스트와 페이지는 조용히 건너뜁니다.


건드리지 않는 대상

  • 사이트 전체 헤더/푸터 삽입 — Ghost Admin → 설정 → 코드 삽입
  • 포스트/페이지 콘텐츠 (포스트의 실제 본문)
  • 테마 파일
  • 위에 나열된 두 필드 외의 모든 Ghost 설정

문제 해결

Missing dependencies pip install -r requirements.txt를 실행한 후 다시 시도하세요.

admin_api_key must be in 'id:secret' format 키 가운데에 콜론이 있는지 확인하세요. :로 구분된 두 개의 16진수 문자열 형태여야 합니다. 공백을 추가하지 말고 Ghost Admin에서 직접 복사하세요.

ERROR: Ghost API returned HTTP 401 Admin API 키가 잘못되었거나 통합이 삭제되었을 수 있습니다. Ghost Admin → 설정 → 통합으로 돌아가 확인하세요.

ConnectionError 또는 타임아웃 설정의 ghost_url이 올바른지, 그리고 스크립트를 실행하는 머신에서 사이트에 접근할 수 있는지 확인하세요.

대규모 사이트에서 스크립트가 멈춘 것처럼 보임 50개 포스트로 이루어진 각 페이지마다 새로운 JWT를 생성하고 API 응답을 기다립니다. 이는 정상이며, 잠시 기다리세요.

도구 다운로드