
CVE-2022-34919에 대한 개념 증명 익스플로잇으로, 조작된 HTTP 요청을 통해 Contensis CMS Classic 인터페이스에서 인증되지 않은 임의 파일 업로드 및 RCE(원격 코드 실행)를 시연합니다.
Contensis 콘텐츠 관리 시스템(Content Management System) 15.2.1.79 이전 버전은 'Classic' 인터페이스에 인증되지 않은 사용자가 임의의 파일을 업로드하고 승인할 수 있는 결함이 있습니다. aspx 파일을 업로드하면 웹 서버의 컨텍스트에서 명령을 실행할 수 있습니다.
이 취약점은 2022년 3월에 발견되었으며, Zengenti가 2022년 4월 8일 릴리스에서 패치했습니다.
재현 단계:
1:
최초 파일 업로드는 다음 엔드포인트에 대한 POST 요청으로 수행됩니다:
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/UploadFile?folderId=1&projectId=1&context=%7B%22UserID%22%3A1%2C%22LanguageID%22%3A1%2C%22SecurityToken%22%3A%22%22%7D
context 매개변수는 어떤 사용자가 파일을 업로드하는지 나타냅니다. 이 경우 UserId 1, 시스템 관리자(System Administrator)입니다. SecurityToken 매개변수는 필수이지만 비어 있어도 됩니다. 이 요청(스크린샷 1)은 서버에 UUID가 포함된 임시 파일을 생성합니다. 이 예에서는 https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmd.aspx 에서 사용 가능한 웹셸을 사용했습니다.

2:
그런 다음 파일은 다음 엔드포인트에 대한 POST 요청으로 승인되어야 합니다:
https://[example].cloud.contensis.com/REST/UI/Wizards/CreateContent/CreateContent
이 요청(스크린샷 2)에는 초기 요청의 임시 파일 경로가 포함되며, 게시 승인 및 파일 제한을 우회하기 위한 콘텐츠 유형 수정 매개변수가 포함됩니다. 이 경우 ContentTypeId는 43으로 설정되어 ASPX가 아닌 HTML 문서임을 나타냅니다. 그런 다음 파일은 아래의 'preview' 및 'live' 도메인에서 사용할 수 있습니다:
https://preview-[example].cloud.contensis.com/cmd2.aspx
https://iis-live-[example].cloud.contensis.com/cmd2.aspx

3:
책임감 있게 행동하고 승인된 호스트에서만 테스트하십시오 (스크린샷 3)