본문 바로가기
보안

🛑 Host Header Injection: 서버 측 요청 위조(SSRF) 및 보안 우회 공격 🚨

by IT 분석가 2025. 2. 19.
반응형

SSRF

 

📌 목차

  1. Host Header Injection이란?
  2. 공격 원리와 작동 방식
  3. 주요 Host Header Injection 공격 기법
  4. 보안 위협과 실제 사례
  5. 방어 방법 및 대응 방안

🔍 Host Header Injection이란?

Host Header Injection은 클라이언트가 전송하는 Host 헤더 값을 조작하여 웹 서버의 요청 처리를 속이는 공격 기법이다.

일반적으로 웹 애플리케이션은 Host 헤더를 사용하여 요청된 도메인을 식별하고 처리한다.
공격자는 이를 악용하여 SSRF(Server-Side Request Forgery), 캐시 포이즈닝(Cache Poisoning), 오픈 리다이렉트(Open Redirect) 등의 공격을 수행할 수 있다.

 

✅ 주요 공격 목적
✔️ SSRF 수행: 내부 네트워크로 요청을 보내 민감한 데이터 접근
✔️ 피싱 및 리다이렉트: 악성 사이트로 사용자를 유도
✔️ 캐시 조작(Cache Poisoning): 웹 서버의 캐시를 변조하여 악성 콘텐츠 제공


⚙️ 공격 원리와 작동 방식

Host Header Injection은 웹 서버가 Host 헤더 값을 신뢰하는 경우 발생한다.
공격자는 의도적으로 조작된 Host 헤더를 삽입하여 서버가 잘못된 요청을 수행하도록 유도할 수 있다.

 

📌 일반적인 HTTP 요청

GET / HTTP/1.1  
Host: example.com
 

서버는 example.com에 대한 요청으로 처리한다.

 

📌 조작된 Host Header Injection 예제

GET / HTTP/1.1  
Host: attacker.com

 

📌 공격 결과

  • 서버가 attacker.com을 신뢰하면 공격자가 설정한 악성 사이트로 리디렉트 가능
  • 내부 API 서버에 요청을 보낼 수도 있음

🚨 주요 Host Header Injection 공격 기법

1️⃣ SSRF(Server-Side Request Forgery) 유도

📌 공격 방식

  • 서버가 Host 헤더 값을 내부 API 호출에 사용하면 SSRF 발생 가능

공격 예시

GET /api/data HTTP/1.1  
Host: 127.0.0.1
 

🚨 결과:

  • 내부 API(127.0.0.1)로 요청을 보내 관리자 패널 접근 또는 데이터 탈취 가능

2️⃣ 캐시 포이즈닝(Cache Poisoning)

📌 공격 방식

  • 공격자가 Host 헤더를 조작하여 웹 서버의 캐시를 변조

공격 예시

GET /index.html HTTP/1.1  
Host: attacker.com
 

🚨 결과:

  • attacker.com이 캐시되어 다른 사용자가 악성 콘텐츠를 받게 됨

3️⃣ 오픈 리다이렉트(Open Redirect) 및 피싱 공격

📌 공격 방식

  • Host 헤더를 조작하여 사용자를 피싱 사이트로 유도

공격 예시

GET /login HTTP/1.1  
Host: attacker.com
 

🚨 결과:

  • 사용자가 attacker.com에 로그인하게 되어 자격 증명 탈취 가능

⚠️ 보안 위협과 실제 사례

보안 위협

  • 🛡️ 내부 시스템 공격(SSRF): 내부 서버로 요청을 보내 비공개 데이터 탈취
  • 🎭 사용자 세션 탈취: 피싱 사이트로 유도하여 로그인 정보 가로채기
  • 🚀 캐시 변조: 공격자가 웹 서버의 응답을 변조하여 악성 콘텐츠 주입
  • 🔓 도메인 기반 접근 제어 우회: 특정 도메인에서만 작동하는 기능 우회 가능

 

실제 발생 사례

  1. 2013년 PayPal Host Header Injection 취약점 발견
    • 공격자가 Host 값을 조작하여 내부 API 요청 수행 가능
  2. 2019년 여러 웹 애플리케이션에서 SSRF 발생
    • AWS 메타데이터 서버(169.254.169.254)에 접근하여 인증 정보 탈취

🔐 방어 방법 및 대응 방안

1. Host 헤더 검증 적용

  • 신뢰할 수 있는 도메인 리스트 화이트리스트 적용
  • 예제 (Nginx 설정):
if ($host !~* ^(www\.example\.com|example\.com)$) {
    return 400;
}

 

2. 내부 네트워크 보호(SSRF 방지)

  • 방화벽 설정을 통해 내부 네트워크 요청 제한
  • 예제 (AWS WAF 설정): 
{
  "Rules": [
    {
      "RuleName": "BlockSSRF",
      "Conditions": [
        {
          "Type": "HostHeader",
          "Value": "169.254.169.254"
        }
      ],
      "Action": "BLOCK"
    }
  ]
}

 

3. X-Forwarded-Host 헤더 필터링

  • 프록시 및 CDN이 X-Forwarded-Host를 허용하지 않도록 설정

4. 웹 애플리케이션 방화벽(WAF) 사용

  • Host 헤더 변조 탐지 및 차단

5. 보안 테스트 수행

  • Burp Suite, OWASP ZAP을 이용한 취약점 점검 수행

📌 해시태그
#HTTP #HostHeaderInjection #SSRF #웹보안 #해킹 #보안취약점 #서버보안 #리다이렉트 #API보안

반응형