# 호프-바이-호프 헤더
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
* **사이버 보안 회사**에서 일하시나요? **회사를 HackTricks에서 광고하고 싶으신가요**? 아니면 **PEASS의 최신 버전에 액세스하거나 HackTricks를 PDF로 다운로드**하고 싶으신가요? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인해보세요!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견해보세요. 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter**에서 저를 **팔로우**하세요 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[hacktricks repo](https://github.com/carlospolop/hacktricks)와 [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**에 PR을 제출하여 여러분의 해킹 기법을 공유해보세요.
**이 글은 [https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers](https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers)의 요약입니다.**
호프-바이-호프 헤더는 단일 전송 수준 연결에 특정한 헤더로, 주로 HTTP/1.1에서 두 노드 간의 데이터를 관리하는 데 사용됩니다(예: 클라이언트-프록시 또는 프록시-프록시). 이러한 헤더는 전달되지 않도록 설계되었습니다. 표준 호프-바이-호프 헤더에는 `Keep-Alive`, `Transfer-Encoding`, `TE`, `Connection`, `Trailer`, `Upgrade`, `Proxy-Authorization`, `Proxy-Authenticate`가 포함되어 있으며, [RFC 2616](https://tools.ietf.org/html/rfc2616#section-13.5.1)에서 정의되어 있습니다. 추가적인 헤더는 `Connection` 헤더를 통해 호프-바이-호프로 지정될 수 있습니다.
### 호프-바이-호프 헤더 남용
프록시에 의한 호프-바이-호프 헤더의 부적절한 관리는 보안 문제를 야기할 수 있습니다. 프록시는 이러한 헤더를 제거해야 하지만, 모든 프록시가 그렇지는 않아 잠재적인 취약점이 발생할 수 있습니다.
### 호프-바이-호프 헤더 처리 테스트
호프-바이-호프 헤더의 처리는 특정 헤더가 호프-바이-호프로 표시될 때 서버 응답의 변경을 관찰하여 테스트할 수 있습니다. 도구와 스크립트를 사용하여 이 프로세스를 자동화하면 프록시가 이러한 헤더를 어떻게 처리하는지 확인하고 잘못된 구성 또는 프록시 동작을 발견할 수 있습니다.
호프-바이-호프 헤더의 남용은 다양한 보안 문제로 이어질 수 있습니다. 아래는 이러한 헤더가 잠재적인 공격을 위해 조작될 수 있는 몇 가지 예시입니다:
### `X-Forwarded-For`를 사용하여 보안 제어 우회
공격자는 `X-Forwarded-For` 헤더를 조작하여 IP 기반 액세스 제어를 우회할 수 있습니다. 이 헤더는 프록시가 클라이언트의 원래 IP 주소를 추적하는 데 자주 사용됩니다. 그러나 프록시가 이 헤더를 호프-바이-호프로 처리하고 적절한 유효성 검사 없이 전달하는 경우, 공격자는 자신의 IP 주소를 위조할 수 있습니다.
**공격 시나리오:**
1. 공격자는 `X-Forwarded-For` 헤더에 가짜 IP 주소를 포함한 HTTP 요청을 프록시 뒤의 웹 애플리케이션에 보냅니다.
2. 공격자는 `Connection: close, X-Forwarded-For` 헤더도 포함하여 프록시가 `X-Forwarded-For`를 호프-바이-호프로 처리하도록 유도합니다.
3. 잘못 구성된 프록시는 위조된 `X-Forwarded-For` 헤더 없이 요청을 웹 애플리케이션으로 전달합니다.
4. 웹 애플리케이션은 원래의 `X-Forwarded-For` 헤더를 보지 못하므로 요청을 신뢰할 수 있는 프록시에서 직접 온 것으로 간주하여 무단 액세스를 허용할 수 있습니다.
### 호프-바이-호프 헤더 삽입을 통한 캐시 독점
캐시 서버가 호프-바이-호프 헤더를 기반으로 잘못된 캐시를 생성하는 경우, 공격자는 악성 헤더를 삽입하여 캐시를 독점할 수 있습니다. 이로 인해 동일한 리소스를 요청하는 사용자에게 잘못된 또는 악성 콘텐츠가 제공됩니다.
**공격 시나리오:**
1. 공격자는 캐시되지 않아야 할 호프-바이-호프 헤더(`Connection: close, Cookie` 등)를 포함한 웹 애플리케이션에 요청을 보냅니다.
2. 잘못 구성된 캐시 서버는 호프-바이-호프 헤더를 제거하지 않고, 공격자의 세션에 특정한 응답을 캐시합니다.
3. 동일한 리소스를 요청하는 다른 사용자는 공격자를 위해 조작된 캐시 응답을 받게 되며, 이는 세션 하이재킹이나 민감한 정보 노출로 이어질 수 있습니다.
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!
* **사이버 보안 회사**에서 일하시나요? **회사를 HackTricks에서 광고하고 싶으신가요**? 아니면 **PEASS의 최신 버전에 액세스하거나 HackTricks를 PDF로 다운로드**하고 싶으신가요? [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인해보세요!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견해보세요. 독점적인 [**NFT**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter**에서 저를 **팔로우**하세요 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **[hacktricks repo](https://github.com/carlospolop/hacktricks)와 [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**에 PR을 제출하여 여러분의 해킹 기법을 공유해보세요.