반응형

**HTTP 헤더 조작(HTTP Header Manipulation)**이란
공격자가 요청(Request) 또는 응답(Response)의 HTTP 헤더 값을 변조하거나 악의적으로 주입하여
원래 의도와 다르게 동작하도록 만드는 공격이야.

즉:

👉 헤더에 악성값을 넣어 서버/클라이언트의 동작을 꼬이게 하는 공격

웹 보안에서 매우 흔하게 발생하며, 다양한 공격으로 이어질 수 있어.


🔥 1. 어떤 헤더가 조작 대상일까?

요청(Request) 헤더

  • User-Agent
  • Referer
  • Host
  • Cookie
  • X-Forwarded-For
  • Content-Type
  • 인증 토큰(JWT, Bearer Token)

응답(Response) 헤더

  • Location
  • Set-Cookie
  • Content-Security-Policy
  • Access-Control-Allow-Origin 등

🔥 2. 대표적인 헤더 조작 공격 유형

1️⃣ Host Header Injection

공격자가 Host 헤더를 변조해서 다음을 유발:

  • 비밀번호 재설정 링크 탈취
  • 내부 호스트로 요청 우회
  • SSRF 유발
 
GET / HTTP/1.1 Host: attacker.com

2️⃣ HTTP Response Splitting

헤더에 개행문자(\r\n)를 삽입해 서버 응답을 둘로 쪼개는 공격
→ XSS, 캐시 오염(Cache Poisoning) 발생

예:

 
GET /?name=abc%0d%0aSet-Cookie:session=hack

3️⃣ Cookie Manipulation

클라이언트가 쿠키 값을 변조해서 인증/세션 우회

 
Cookie: role=admin

4️⃣ X-Forwarded-For 헤더 변조

IP 우회, Rate Limit 우회
WAF / API Gateway가 클라이언트 IP를 이 헤더로 판단할 때 위험

예:

 
X-Forwarded-For: 127.0.0.1

5️⃣ CORS 헤더 조작 (특히 Access-Control-Allow-Origin)

서버 오리진을 우회하도록 만들어 민감 데이터 탈취


🔥 3. 공격으로 이어지는 실제 사례

✔ 1) 비밀번호 재설정 링크 탈취

Host 변조 → Reset URL이 공격자 도메인으로 생성됨
→ 이메일 받은 피해자가 클릭
→ 공격자에게 토큰 전달 → 계정 탈취

✔ 2) 캐시 오염(Cache Poisoning)

Response Splitting으로 Content-Type 또는 Location 헤더를 주입
→ 여러 사용자가 악성 페이지로 리다이렉트

✔ 3) 인증 우회

쿠키/Authorization 헤더 값 변조
→ 권한 상승, 세션 탈취

✔ 4) WAF·로그 우회

User-Agent / XFF 조작으로 탐지 회피


🔥 4. 방어 방법

✔ (1) 입력값 검증 강화

  • \r, \n 문자 필터링
  • Host 등 민감 헤더는 화이트리스트 사용

✔ (2) 중요한 헤더는 서버에서 강제 설정

  • Host, Origin 등을 클라이언트 입력에 의존하지 않기

✔ (3) 인증/권한 검증 강화

  • 모든 요청에서 세션/토큰 검사가 필수

✔ (4) WAF 규칙 적용

  • HTTP Response Splitting 패턴 필터링
  • 비정상 헤더 길이/문자 규칙 적용

✔ (5) 안전한 쿠키 설정

  • HttpOnly, Secure, SameSite 적용

🎯 한 문장 요약

HTTP 헤더 조작 = 공격자가 요청/응답 헤더를 변조해 인증 우회, 리다이렉트 조작, 캐시오염, XSS 등 다양한 보안 문제를 일으키는 공격

반응형

+ Recent posts