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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-26262 — Sitecore 10.3에서 인증된 임의 파일 업로드에 대한 개념 증명으로, 언어 가져오기 기능을 통해 웹쉘 배포 및 원격 코드 실행을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/istern/cve-2023-26262
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubistern/cve-2023-26262

CVE-2023-26262

Sitecore 10.3에서 인증된 임의 파일 업로드에 대한 개념 증명으로, 언어 가져오기 기능을 통해 웹쉘 배포 및 원격 코드 실행을 가능하게 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Sitecore 10.3 인증된 파일 업로드 취약점

작성자: Thomas Stern

날짜: 2023-01-26

요약

언어 가져오기 기능을 통해 임의의 파일을 업로드할 수 있습니다. 이 파일은 서버에서 코드 실행을 가능하게 하는 웹쉘이 될 수 있습니다.

재현 단계

이 취약점을 테스트하기 위해 로컬 머신에서 Docker를 통해 Sitecore 10.3 인스턴스를 생성했습니다. 이 취약점은 이전 버전의 Sitecore에서 테스트되지 않았지만, 이전 버전도 동일한 기술에 취약할 수 있습니다.

환경 정보

호스트: Windows 11 Docker for Desktop 실행 중 Sitecore 10.3

Sitecore 정보

1. Sitecore에 로그인

이 취약점은 인증이 필요하므로 유효한 자격 증명이 필요합니다. 이 테스트 인스턴스에서는 admin/b를 사용했습니다.

2. 도구 상자로 이동

도구 상자는 Sitecore의 제어판에서 찾을 수 있습니다.

Sitecore 제어판

3. 언어 가져오기 선택

이제 언어 가져오기를 선택합니다.

언어 가져오기

4. 가져오기 - temp 폴더

찾아보기 버튼을 선택하여 시작합니다.

업로드 1단계

다음으로 temp 폴더를 선택합니다. 이 폴더는 쉘의 대상 폴더이기도 합니다.

업로드 2단계 - 대상 폴더 선택

5. 웹쉘 업로드

테스트에 사용된 코드는 https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmdasp.aspx 에서 다운로드한 간단한 웹쉘입니다. 기본 cmd 대신 PowerShell을 실행하도록 약간 수정되었습니다.

업로드 버튼을 선택하고 쉘 파일을 선택한 후 다음을 누릅니다.

쉘 업로드

쉘이 업로드되었습니다.

쉘 업로드 완료

6. 명령 실행

업로드된 쉘 "https://sitename/temp/shell.aspx"로 이동하여 시작합니다. 쉘이 업로드되었으므로 시스템에서 완전한 코드 실행이 가능합니다.

코드 실행

해결 방법

언어 파일을 업로드하는 코드는 업로드되는 파일을 검증하고 aspx, exe 등의 실행 파일만 허용해야 합니다. 또한 언어 파일은 코드 실행을 허용하지 않는 디렉토리에만 업로드되어야 합니다. 이를 수행하는 한 가지 방법은 아래와 같이 web.config에 차단 규칙을 추가하는 것입니다. 이는 두 파일에 대한 모든 요청을 차단합니다.

root@kitploit:~
<rule name="BlockFileUpload" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{URL}" pattern="*sitecore/shell/Applications/Files/FileBrowser.aspx" />
        <add input="{URL}" pattern="*sitecore/shell/Applications/Dialogs/Upload/Upload2.aspx" />
    </conditions>
    <action type="CustomResponse" statusCode="404" statusReason="File or directory not found." statusDescription="The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable." />
</rule>
도구 다운로드