
Proof-of-Concept für CVE-2021-40346, der HTTP-Request-Smuggling in HAProxy über einen Integer-Overflow demonstriert, mit einer Docker-basierten Umgebung zur Umgehung von Zugriffskontrollen.
Integer-Überlauf in der internen Darstellung von Header-Anfragen ermöglicht HTTP-Request-Smuggling. Dieses Repository präsentiert einen PoC, der mit docker-compose aufgebaut ist und zwei Docker-Images verwendet: eines mit einer verwundbaren Version von HaProxy (in diesem Fall 2.2.16) und eines mit einem Flask-Webserver, der Gunicorn als WSGI nutzt. Durch die Ausnutzung der Schwachstelle sind wir in der Lage, auf die /admin-Seite zuzugreifen, deren Anfragen von HaProxy durch eine benutzerdefinierte Regel blockiert werden.
Führen Sie die folgenden Befehle im Terminal aus, um den HaProxy-Docker-Container und das Flask-Server-Image zu starten:
docker-compose up
Senden Sie den Payload an HaProxy:
cat payload | nc localhost 8000
Um alles wieder herunterzufahren, führen Sie Folgendes aus:
docker-compose down