본문 바로가기
보안

🛑 HTTP Parameter Pollution (HPP): 동일한 요청 파라미터를 활용한 보안 우회 공격 🚨

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

Parameter Pollution

 

📌 목차

  1. HTTP Parameter Pollution(HPP)이란?
  2. HPP 공격의 원리
  3. HPP의 주요 공격 기법
  4. HTTP Parameter Pollution의 위험성
  5. 방어 방법 및 대응 방안

🔍 HTTP Parameter Pollution(HPP)이란?

HTTP Parameter Pollution (HPP)웹 요청에서 동일한 파라미터를 여러 번 중복하여 보내, 서버의 해석 방식 차이를 악용하는 공격 기법이다.

이 공격은 웹 애플리케이션이 중복된 요청 파라미터를 다루는 방식이 일관되지 않거나, 필터링 로직을 우회할 때 발생한다.
공격자는 이를 통해 보안 정책을 우회하거나, 원하는 파라미터 값을 삽입하여 시스템을 조작할 수 있다.

 

✅ 주요 공격 목적
✔️ 필터링 우회: 보안 규칙을 우회하여 악성 데이터 삽입
✔️ API 조작: 다중 파라미터 사용을 악용하여 인증 우회
✔️ SQL Injection, XSS 연계 공격: 입력 검증 로직을 우회하여 취약점 악용


⚙️ HPP 공격의 원리

HPP 공격은 서버 또는 클라이언트의 HTTP 요청 해석 방식이 다를 때 발생한다.
웹 애플리케이션에서 동일한 키를 가진 여러 개의 파라미터를 다루는 방식이 다르면 공격이 가능하다.

 

📌 예제: 일반적인 요청

GET /search?category=books HTTP/1.1

이 요청은 category 값으로 books을 전달한다.

 

📌 HPP 공격 요청 예시

GET /search?category=books&category=electronics HTTP/1.1

서버는 위와 같은 요청을 다르게 해석할 수 있다:

  1. 첫 번째 값만 처리 (category=books)
  2. 마지막 값만 처리 (category=electronics)
  3. 모든 값을 배열로 저장 (category=[books, electronics])

이러한 해석 차이를 악용하면 보안 정책을 우회하거나 시스템을 조작할 수 있다.


🚨 HPP의 주요 공격 기법

1️⃣ 쿼리 문자열(Query String) 조작

📌 공격 방식

  • 다중 파라미터를 이용해 요청을 변조
  • 특정 필터링 로직을 우회하여 악성 데이터 삽입

공격 예시

GET /login?user=admin&user=hacker HTTP/1.1

 

🚨 결과:

  • 일부 서버는 admin을 처리하지만, 다른 서버는 hacker를 인식하여 인증 우회 가능

2️⃣ POST 요청 조작

📌 공격 방식

  • application/x-www-form-urlencoded 형식에서 동일한 키를 여러 번 삽입
  • 서버의 입력 해석 방식 차이를 악용

공격 예시

POST /transfer HTTP/1.1  
Host: bank.com  
Content-Type: application/x-www-form-urlencoded  

amount=1000&amount=10
 

🚨 결과:

  • 일부 서버는 첫 번째 amount=1000을 적용하고,
  • 다른 서버는 마지막 amount=10을 적용하여 금액 조작 가능

3️⃣ HTTP 헤더 조작

📌 공격 방식

  • 다중 HTTP 헤더를 이용해 웹 애플리케이션의 로직을 속임
  • 예를 들어, X-Forwarded-For 헤더를 조작하여 IP 기반 접근 제어 우회

공격 예시

GET /admin HTTP/1.1  
Host: secure.com  
X-Forwarded-For: 192.168.1.100  
X-Forwarded-For: 127.0.0.1
 

🚨 결과:

  • 일부 서버는 첫 번째 IP(외부 사용자)만 처리,
  • 다른 서버는 마지막 IP(내부 관리자)만 인식하여 접근 권한을 부여

⚠️ HTTP Parameter Pollution의 위험성

보안 위협

  • 🛡️ 인증 우회: 필터링 로직을 속여 관리자 페이지 접근 가능
  • 🎭 데이터 변조: API 조작을 통해 결제, 사용자 정보 변경
  • 🚀 SQL Injection/XSS 연계 공격: 필터링 우회하여 악성 코드 삽입
  • 🔓 보안 정책 우회: 방화벽, WAF(Web Application Firewall) 무력화

실제 발생 사례

  1. 2011년 PayPal HPP 취약점
    • HPP를 통해 보안 필터를 우회하여 사용자 정보 변조 가능
  2. 2020년 여러 금융 서비스에서 발견된 취약점
    • 중복된 파라미터 해석 차이를 이용해 금액 조작

🔐 방어 방법 및 대응 방안

1. 중복 파라미터 허용 금지

  • 다중 동일 파라미터 요청을 차단하도록 서버 설정 변경
  • 예: Apache mod_security 또는 Nginx strict_params 적용

2. 입력 검증 강화

  • 정규식을 이용하여 중복된 파라미터를 필터링
  • 화이트리스트 기반 파라미터 검증 적용

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

  • SQL Injection, XSS 등과 연계된 HPP 공격 탐지

4. 보안 패치 적용

  • 최신 보안 패치 및 프레임워크 업데이트 적용

5. 보안 테스트 수행

  • Burp Suite, OWASP ZAP과 같은 도구를 사용하여 취약점 테스트

 

📌 해시태그
#HTTP #HPP #ParameterPollution #웹보안 #해킹 #웹방화벽 #보안취약점 #API보안

반응형