Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-34832 — CVE-2024-34832에 대한 개념 증명 익스플로잇: CubeCart 관리자 패널의 디렉토리 트래버설로, 조작된 `_g` 매개변수와 업로드된 `.inc.php` 파일을 통해 원격 코드 실행으로 이어집니다. | Kitploit
도구/GitHubGitHub/julio-cfa/cve-2024-34832
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubjulio-cfa/cve-2024-34832

CVE-2024-34832

CVE-2024-34832에 대한 개념 증명 익스플로잇: CubeCart 관리자 패널의 디렉토리 트래버설로, 조작된 `_g` 매개변수와 업로드된 `.inc.php` 파일을 통해 원격 코드 실행으로 이어집니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CubeCart - 디렉터리 트래버셜로 인한 RCE 가능 (CVE-2024-34832)

TL;DR

관리자 패널에서 _g 및 node와 같은 매개변수를 사용하여 .inc.php 파일을 포함하고 PHP 코드를 실행하는 경로를 구성합니다. 서버 어디든 .inc.php 파일을 업로드할 수 있는 악의적인 사용자는 경로 트래버셜 취약점을 악용하여 해당 파일을 포함시키고 악성 코드를 실행할 수 있습니다.

사전 요구 사항

  • 관리자 패널에 접근 가능 (권한이 전혀 없는 경우를 포함하여 모든 권한으로 가능);
  • 서버 어디든 .inc.php 확장자를 포함한 파일을 업로드할 수 있는 능력 (예: FTP 접근, 동일 서버의 다른 애플리케이션에서 파일 업로드 가능, CubeCart 업로드 기능의 새로운 취약점 등).

악용 방법

CubeCart가 설치된 동일한 서버에서 FTP 서버가 실행 중이고 사용자가 특정 위치에 파일을 업로드할 수 있다고 가정해 봅시다. 우리의 경우, FTP를 통해 업로드된 모든 파일은 /opt/FTP_Example에 저장된다고 가정합니다.

또한 이 사용자가 FTP를 통해 path_traversal.inc.php라는 파일을 업로드했으며, 그 내용은 다음과 같은 PHP 코드라고 가정합니다: <?php system('whoami;id;hostname;ls') ?>.

image

처음에는 이러한 파일을 업로드해도 위험이 없습니다. 실행되지 않을 뿐만 아니라 Apache와 같은 웹 서버의 디렉터리에 있지 않아 실행될 수 없기 때문입니다.

이 동일한 사용자는 CubeCart 관리자 패널에서 매우 제한된 권한을 가지고 있거나 전혀 권한이 없을 수도 있지만, 여전히 로그인할 수 있습니다. 예를 들어, 우리는 julio라는 사용자를 만들었는데, 이 사용자는 어떤 권한도 없습니다.

image

julio로 애플리케이션에 로그인한 후, _g 및 node 매개변수를 테스트하기 시작했습니다. 이 매개변수들이 경로 끝에 자동으로 .inc.php를 추가하고, 해당 파일에 대해 include()를 사용하여 PHP 코드를 실행하는 것으로 보였습니다.

아래와 같이 파일을 찾을 수 없을 때 다음 오류 메시지가 반환됩니다.

image

경로를 이동하여 서버의 다른 디렉터리(예: FTP 폴더)에 있는 .inc.php 파일에 도달할 수 있을지 궁금해지기 시작했습니다.

/opt/FTP_Example 폴더에 path_traversal.inc.php 파일이 있었기 때문에, 루트 디렉터리에 도달할 때까지 많은 /../../../를 추가해 보았고, 그런 다음 /opt/FTP_Example/path_traversal을 추가하자 애플리케이션이 자동으로 경로 끝에 .inc.php를 추가했습니다.

아래와 같이 코드가 성공적으로 실행되었습니다.

image

결론

node 매개변수는 실제로 슬래시(/)를 이스케이프 처리하지만 _g는 그렇지 않음을 확인했습니다. 경로를 구성하는 데 사용되는 모든 매개변수는 경로 트래버셜 취약점을 방지하기 위해 슬래시를 이스케이프 처리해야 합니다.

이 취약점을 성공적으로 악용하기 위한 사전 조건이 있어 위험을 상당히 줄여주지만, 여전히 패치를 적용하는 것이 좋습니다. 참고 자료에서 CubeCart 제작자가 이 취약점을 어떻게 수정했는지 확인하고, 공식 릴리스에서 이미 패치될 때까지 자신의 CubeCart 인스턴스에 수정 사항을 적용할 수 있습니다.

참고 자료

  • https://github.com/cubecart/v6/issues/3586
도구 다운로드