INTRODUCTION
안녕하세요, 김도원입니다. 
저는 항상 다른 사람들의 블로그를 보면서 이 사람이 무엇을 배웠고 어떻게 성장했는지 경험에 대해 관심이 많았습니다.
그 이유는 다른 사람들의 경험을 통해 제가 어떤 방향으로 가야 할지 알게 되었고, 무엇보다 동기부여를 하면서 더욱더 성장할 수 있었기 때문인 것 같습니다.
이와 같은 경험을 저도 다른 사람들에게 공유하고 싶어 블로그를 시작하게 되었습니다. 비록 제가 아직 많이 부족하지만 오히려 이 블로그를 통해 제가 배우고 경험한 것들을 하나씩 기록하면서 저와 비슷한 다른 누군가에게 도움이 될 수 있는 그런 공간이 되었으면 좋겠습니다.
RECENTLY PUBLISHED
Search

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

Web

웹 보안

PHP
2025/02/10
Load more
Today