반응형
**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 등 다양한 보안 문제를 일으키는 공격
반응형
'2. 보안 > 2. 보안 관제' 카테고리의 다른 글
| [보안_GPT] Clickjacking이란? (0) | 2025.11.14 |
|---|---|
| [보안_GPT] CORS(Cross-Origin Resource Sharing)란? (0) | 2025.11.14 |
| [보안_GPT] API 취약점 공격이란? (0) | 2025.11.14 |
| [보안_GPT] 직렬화 / 역직렬화란? (0) | 2025.11.14 |
| [보안_GPT] Broken Access Control이란? (0) | 2025.11.14 |