5.8 KiB
hop-by-hop headers
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
이것은 https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers 게시물의 요약입니다.
Hop-by-hop 헤더는 단일 전송 수준 연결에 특정하며, 주로 HTTP/1.1에서 두 노드(클라이언트-프록시 또는 프록시-프록시) 간의 데이터 관리를 위해 사용되며, 전달될 의도가 아닙니다. 표준 hop-by-hop 헤더에는 Keep-Alive
, Transfer-Encoding
, TE
, Connection
, Trailer
, Upgrade
, Proxy-Authorization
, 및 Proxy-Authenticate
가 포함되며, 이는 RFC 2616에서 정의됩니다. 추가 헤더는 Connection
헤더를 통해 hop-by-hop으로 지정될 수 있습니다.
Hop-by-Hop 헤더 남용
프록시가 hop-by-hop 헤더를 부적절하게 관리하면 보안 문제가 발생할 수 있습니다. 프록시는 이러한 헤더를 제거해야 하지만, 모든 프록시가 그렇게 하지 않기 때문에 잠재적인 취약점이 생길 수 있습니다.
Hop-by-Hop 헤더 처리 테스트
특정 헤더가 hop-by-hop으로 표시될 때 서버 응답의 변화를 관찰하여 hop-by-hop 헤더의 처리를 테스트할 수 있습니다. 도구와 스크립트를 사용하여 이 과정을 자동화하고, 프록시가 이러한 헤더를 어떻게 관리하는지 식별하며, 잘못된 구성이나 프록시 동작을 발견할 수 있습니다.
Hop-by-hop 헤더를 남용하면 다양한 보안 문제를 초래할 수 있습니다. 아래는 이러한 헤더가 잠재적인 공격을 위해 어떻게 조작될 수 있는지를 보여주는 몇 가지 예입니다:
X-Forwarded-For
로 보안 제어 우회
공격자는 X-Forwarded-For
헤더를 조작하여 IP 기반 접근 제어를 우회할 수 있습니다. 이 헤더는 종종 프록시가 클라이언트의 원래 IP 주소를 추적하는 데 사용됩니다. 그러나 프록시가 이 헤더를 hop-by-hop으로 처리하고 적절한 검증 없이 전달하면, 공격자는 자신의 IP 주소를 스푸핑할 수 있습니다.
공격 시나리오:
- 공격자는 프록시 뒤에 있는 웹 애플리케이션에 HTTP 요청을 보내며,
X-Forwarded-For
헤더에 가짜 IP 주소를 포함합니다. - 공격자는 또한
Connection: close, X-Forwarded-For
헤더를 포함하여 프록시가X-Forwarded-For
를 hop-by-hop으로 처리하도록 유도합니다. - 잘못 구성된 프록시는 스푸핑된
X-Forwarded-For
헤더 없이 요청을 웹 애플리케이션에 전달합니다. - 웹 애플리케이션은 원래의
X-Forwarded-For
헤더를 보지 못하므로 요청이 신뢰할 수 있는 프록시에서 직접 온 것으로 간주하여, 무단 접근을 허용할 수 있습니다.
Hop-by-Hop 헤더 주입을 통한 캐시 오염
캐시 서버가 hop-by-hop 헤더를 기반으로 콘텐츠를 잘못 캐시하면, 공격자는 악성 헤더를 주입하여 캐시를 오염시킬 수 있습니다. 이는 동일한 리소스를 요청하는 사용자에게 잘못되거나 악성 콘텐츠를 제공하게 됩니다.
공격 시나리오:
- 공격자는 캐시되지 않아야 하는 hop-by-hop 헤더(예:
Connection: close, Cookie
)가 포함된 요청을 웹 애플리케이션에 보냅니다. - 잘못 구성된 캐시 서버는 hop-by-hop 헤더를 제거하지 않고 공격자의 세션에 특정한 응답을 캐시합니다.
- 동일한 리소스를 요청하는 미래의 사용자들은 공격자를 위해 조정된 캐시된 응답을 받게 되어, 세션 하이재킹이나 민감한 정보 노출로 이어질 수 있습니다.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.