
CVE-2023-38545를 로컬 curl 대상으로 테스트하기 위한 개념 증명
이 저장소는 CVE-2023-38545 취약점에 대한 시스템 테스트를 위해 설계된 PoC(Proof of Concept)를 포함하고 있습니다. 이 취약점은 curl 유틸리티, 특히 7.69.0과 8.3.1 사이의 버전에 영향을 미치며 HTTP 리디렉션 처리와 관련이 있습니다.
필수 소프트웨어: curl
PoC는 두 가지 주요 구성 요소로 이루어져 있습니다:
이미 사용 가능한 socks5 프록시가 있다면 이 단계는 선택 사항입니다.
setup_socks5.sh 실행
$ chmod +x setup_socks5.sh
$ ./setup_socks5.sh
이렇게 하면 필수 종속성이 설치되고 포트 1080에서 SOCKS5 프록시 서버가 설정됩니다.
HTTP 서버를 시작하려면 다음 명령을 실행하세요:
$ python3 server.py
디버그 로깅을 사용하여 서버를 실행할 수도 있습니다
$ python3 server.py --debug
실행에 성공하면 HTTP 서버는 포트 8000에서 수신 대기합니다.
먼저 스크립트를 실행 가능하게 만드세요:
$ chmod +x cve202338545.sh
스크립트는 --socks5-ip로 socks5 프록시 주소를, --http-ip로 http 주소를 받도록 구성할 수 있으며 --DEBUG로 디버그 로그를 출력할 수 있습니다
$ ./cve202338545.sh --socks5-ip <ip> --http-ip <ip> --DEBUG # specify both proxy and http server
$ ./cve202338545.sh --socks5-ip <ip> # specify only proxy server
$ ./cve202338545.sh --http-ip <ip> # specify only http server
$ ./cve202338545.sh # both proxy and http server will default to localhost
$ ./cve202338545.sh --DEBUG # both proxy and http server will default to localhost with debug on
이렇게 하면 익스플로잇이 시작되며, 시스템이 취약한지, 취약하지 않은지, 또는 테스트 결과가 불확실한지 여부를 나타내는 출력을 확인할 수 있습니다.
4가지 응답 상태가 있습니다:
이 단계는 1단계에서 setup_socks5.sh를 사용한 경우에만 필요합니다.
SOCKS5 프록시 서버를 정리하려면 다음 명령을 실행하세요:
$ ./cleanup.sh