Search

Introduction
이번에 분석할 CVE-2024-47208 취약점은 이전에 분석한 Apache OFBiz 1-Day 취약점 살펴보기: CVE-2024-45507 (6/7) 취약점의 미흡한 패치로 인해 발생된 취약점입니다. 해당 취약점은 이전 취약점과 동일하게 SSRF(Server-Side Request Forgery), Code Injection 취약점이 존재하며 이로인해 RCE(Remote Code Execution)가 가능한 취약점입니다.
이번 분석에서는 이전 패치에서 어떤 부분이 미흡했고, 어떻게 우회가 가능한지 살펴보겠습니다.
Vulnerability Detail
Analysis
먼저, 이전에 발생한 CVE-2024-45507 취약점의 패치기록을 살펴보고, 해당 패치를 어떻게 우회할 수 있는지를 살펴보겠습니다.
이전 취약점의 패치 분석
이전에 발생한 CVE-2024-45507 취약점은 외부에 존재하는 악의적인 XML 파일을 공격자가 전달할 수 있고, 이렇게 전달된 XML 파일이 뷰(View)로 로드되어, 해당 뷰에 정의된 Groovy 스크립트가 실행 됨으로써 RCE 취약점을 일으킬 수 있는 취약점입니다.
이때, 해당 취약점의 패치는 다음과 같습니다.
Apache OFBiz 1-Day 취약점 살펴보기: CVE-2024-47208 (7/7)
One-Day Analysis
2025/03/04

Introduction
Apache OFBiz에서 발생된 1-Day 취약점 중 먼저 살펴볼 취약점은 CVE-2024-32113 입니다. 해당 취약점은 OFBiz 버전 18.12.12 이하에서 발생하는 Path Traversal 취약점으로, OFBiz 프레임워크의 URL 요청에 대한 컨트롤러(Controller)와 뷰(View)의 처리 과정에서 발생하는 취약점 입니다.
Vulnerability Detail
Analysis
이 취약점은 Apache OFBiz 프레임워크의 버전 18.12.12 이하에서 발생하는 경로 조작(Path Traversal) 취약점입니다. 해당 취약점의 주요 원인은 OFBiz의 URI 요청 처리 과정에서 사용자 입력값에 대한 충분한 검증이 이루어지지 않아 발생합니다.
URI 처리 메커니즘
Apache OFBiz는 URI 요청을 처리하기 위해 컨트롤러(Controller)와 뷰(View) 매핑 메커니즘을 사용합니다. 이 메커니즘은 RequestHandler.java 에서 처리되며, 사용자가 요청한 URI 경로를 컨트롤러 매핑 파일에 정의된 뷰 템플릿으로 연결합니다.
예를 들어, /webtools/control/main/showDateTime URI로 요청을 수행할 경우 변수 path, requestUri, overrideViewUri 는 다음의 값이 셋팅 됩니다.
•
path /main/show/DateTime
Apache OFBiz 1-Day 취약점 살펴보기: CVE-2024-32113 (2/7)
One-Day Analysis
2025/03/04

Introduction
이번에 WordPress 플러그인 WordPress File Upload의 4.24.12 이하 버전에서 발생하는 원격 코드 실행(RCE, Remote Code Execution) 취약점(CVE-2024-11635) 분석을 진행했습니다.
해당 취약점을 분석하는 과정에서 Exploit을 수행하기 위해 PHP Wrapper 중 php://filter 스트림을 이용 했는데, 이를 활용한 LFI2RCE(Local File Inclusion to Remote Code Execution) 기법에 대해 자세히 알아보겠습니다.
PHP Wrapper 란?
PHP에서는 다양한 데이터 소스(파일, HTTP 요청, FTP 서버, 압축 파일 등)에 대한 일관된 접근 방식을 제공하기 위해 Stream Wrapper 라는 개념을 도입했습니다. 이 스트림 래퍼는 데이터 소스에 접근하기 위한 URL 스타일의 표기법을 사용하며, 프로토콜과 유사한 방식으로 리소스를 식별하고 처리합니다.
Wrapper 종류
Wrapper는 기본적으로 여러 가지 스트림 래퍼를 제공합니다. 해당 래퍼들을 보면 모두 URL 스타일 표기법을 사용하는 것을 볼 수 있으며, 각각의 래퍼는 특정 프로토콜을 나타내는 접두사와 그 뒤에 오는 리소스 경로로 구성되어 있습니다.
예를 들어, 로컬에 있는 파일을 읽을 때는 아래와 같이 사용합니다.
또한, HTTP 요청을 보낼 때는 다음과 같이 사용할 수 있습니다.
PHP Wrapper, php://filter를 이용한 LFI2RCE 기법: PART 1

Web Security
2025/02/10