
CVE-2021-40346에 대한 개념 증명으로, 정수 오버플로를 통해 HAProxy에서 HTTP 요청 스머글링을 시연하며, Docker 기반 환경을 통해 접근 제어를 우회합니다.
헤더 요청 내부 표현의 정수 오버플로로 인해 HTTP 요청 스머글링이 가능합니다. 이 저장소는 docker-compose로 구축된 PoC를 제공하며, 두 개의 docker 이미지를 사용합니다: 취약한 버전의 HaProxy(이 경우 2.2.16)와 WSGI로 Gunicorn을 사용하는 Flask 웹 서버입니다. 이 취약점을 악용하여 HaProxy가 사용자 정의 규칙을 통해 차단하는 /admin 페이지에 접근할 수 있습니다.
터미널에서 다음 명령어를 실행하여 HaProxy docker 컨테이너와 Flask 서버 이미지를 실행합니다:
docker-compose up
HaProxy에 페이로드를 전송합니다:
cat payload | nc localhost 8000
종료하려면 다음을 실행합니다:
docker-compose down