HTTP Request Smuggling CL.TE 패턴 (WEB-43)
WEB-43 HTTP Smuggling
HTTP Request Smuggling (CL.TE):
HTTP/1.1에서 Content-Length와 Transfer-Encoding 헤더가 모두 있을 때,
프론트엔드 프록시와 백엔드 서버가 다르게 해석하면
요청이 의도치 않게 분리되어 캐시 포이즈닝, 캐시 우회, 세션 고탈 등의 공격이 가능합니다.
공격 원리
- 요청 1 (정상): GET /api/user HTTP/1.1 + 헤더
- 추가 데이터: Content-Length로 정의된 바디 내에 다음 요청의 시작
- 프론트엔드 해석: Content-Length 바이트만 읽고 전달
- 백엔드 해석: Transfer-Encoding: chunked로 파싱 → 다른 경계에서 끊김
- 결과: 두 번째 요청이 다른 사용자 세션과 혼합
Request Smuggling 페이로드 입력