
CVE-2023-50164 공격자는 파일 업로드 매개변수를 조작하여 경로 순회(path traversal)를 가능하게 할 수 있으며, 일부 상황에서는 악성 파일을 업로드하여 원격 코드 실행(Remote Code Execution)을 수행하는 데 사용될 수 있습니다. 이 문제를 해결하려면 사용자는 Struts 2.5.33 또는 Struts 6.3.0.2 이상 버전으로 업그레이드하는 것이 좋습니다.
Apache Struts에서 CVE-2023-50164(CVE: 9.8)로 식별된 심각한 보안 취약점이 발견되었습니다. 이 취약점은 공격자가 파일 업로드 매개변수를 조작하여 무단 경로 탐색 및 원격 코드 실행(RCE)으로 이어질 수 있습니다.
CVE 분석을 위해 간단한 테스트 애플리케이션이 개발되었습니다.
먼저 docker build 명령어를 사용하여 애플리케이션을 빌드합니다:
docker build -t exploitable -f DOCKERFILE .
그런 다음 docker run 명령어를 사용하여 애플리케이션을 실행합니다:
docker run -p 8080:8080 exploitable
이 경우 8080 포트에서 앱에 접속할 수 있습니다.
Tomcat 또는 다른 서블릿에 배포하거나 mvn jetty:run으로 실행할 수 있습니다. 이 경우 9999 포트에서 앱에 접속할 수 있습니다. 익스플로잇 스크립트는 앱이 Tomcat에 배포된 경우에만 작동합니다. 그 이유는 익스플로잇 경로가 WAR 웹쉘을 업로드하는 것이기 때문입니다. 그러나 사용된 기술 및 기타 상황에 따라 동일한 취약점에 대해 다른 많은 익스플로잇 경로가 작동할 수 있습니다.
PIP 패키지 설치:
pip install requests requests_toolbelt
그런 다음 애플리케이션 URL에 따라 경로를 변경하고 아래 명령어를 실행합니다:
python exploit.py --url http://localhost:8080/upload.action
Windows 호스트에서 애플리케이션과 익스플로잇을 실행하는 것이 좋습니다. *nix 기반 시스템에서는 때때로 익스플로잇이 작동하지 않을 수 있습니다.
이 익스플로잇 스크립트는 연구 목적으로 제작되었습니다. 악의적이거나 승인되지 않은 활동에 사용하기 위한 것이 아닙니다.