
Demo webapp vulnerable to CVE-2022-44900
CVE-2022-44900에 취약한 데모 웹앱.
CVE-2022-44900은 파이썬 라이브러리 py7zr 버전 0.20.0 및 이전 버전의 SevenZipFile.extractall() 함수에서 발견된 디렉터리 트래버설 취약점으로, 공격자가 악성 7z 파일 추출을 통해 로컬 머신에서 임의 파일을 읽고 쓸 수 있게 합니다.
CVE-2022-44900 취약점을 악용하려면 공격자는 심볼릭 링크를 포함한 악성 7z 아카이브를 생성하여 임의 파일 읽기를 수행하고, 이름에 경로 트래버설 페이로드를 포함한 파일을 생성하여 임의 파일 쓰기를 수행해야 합니다.
자세한 내용: https://lessonsec.com/cve/cve-2022-44900/
slip을 사용하여 악성 아카이브 생성: https://github.com/0xless/slip
취약한 웹앱을 실행하려면 도커 컨테이너를 생성하거나 서버만 실행할 수 있습니다.
서버만 실행하기로 결정한 경우 다음을 실행해야 합니다:
pip3 install py7zr==0.20.0
취약한 버전의 py7zr을 설치합니다.
그런 다음 다음 명령으로 애플리케이션을 실행합니다:
python3 slipper.py
그러면 웹앱이 localhost:9999에서 접근 가능합니다.
컨테이너를 생성하려면 도커파일을 사용하여 slipper 이미지를 만듭니다.
그런 다음 host 네트워크를 사용하고 포트 9999를 노출하는 컨테이너를 생성합니다. 다른 설치 방법과 마찬가지로 이를 통해 localhost:9999에서 웹앱에 접속할 수 있습니다.
웹사이트는 다음과 같습니다:

이제 파일을 추출하고 이 랩을 악용해 볼 수 있습니다.
웹앱은 공개용이 아닙니다. 다른 취약점에도 취약할 가능성이 있으며 모든 오류를 올바르게 처리하지 않습니다(일반 웹사이트에서 기대하는 것처럼). 이 소프트웨어를 안전하게 사용하세요.
이 프로젝트는 GPL-3.0 라이센스에 따라 라이센스가 부여됩니다.