본문 바로가기

해킹-보안

HTTP Parameter Pollution 취약점

반응형

 

HTTP Parameter Pollution

 
동일한 이름의 파라미터를 중복으로 전송하여 의도하지 않은 서비스 처리를 유도하는 취약점이다.
중복된 파라미터를 해석하는 방식은 웹 서버마다 차이가 존재한다.

HPP 취약점을 이용한 사례는 다음과 같다.
1. 이용자 인증 우회
user123이 admin으로 권한 상승을 위해 uid 값에 admin을 입력하였으나 인증 우회 불가
https://a.com/auth.php?uid=user123 -> https://a.com/auth.php?uid=admin

uid 파라미터를 중복으로 삽입하여 admin을 입력 시 인증 우회 가능
https://abc.com/auth.php?uid=user123&uid=admin


2. 도메인 검증 우회
xss 취약점을 통해 악성 사이트로 redirect를 시도하였으나 도메인 검증으로 인해 접근이 불가한 경우
url 파라미터를 중복으로 삽입하여 우회 가능
https://a.com/redir.php?url=https://trusted.com&url=@hacker.com




예시

 
1. 관심있는 영화에 투표를 하는 페이지이며 투표 전에 닉네임 생성("test")

2. name 파라미터 값에 자신이 입력한 닉네임이 삽입되며 Vote를 통해 관심있는 영화에 투표하기("Iron Man")
3. "Iron Man" 영화의 파라미터 값은 movie=2

4. 다시 닉네임을 입력하는 페이지로 이동하여 어떤 영화를 투표하더라도 2번 영화("Iron Man")가 투표되도록
중복된 파라미터("&movie=2")를 삽입
Url: hpp-2.php?name=&movie2&action=vote

5. 사용자는 movie가 1번인 영화를 투표하였으나 HPP 취약점으로 인해 기존의 파라미터("movie=1")가 무시되고
중복으로 입력한 파라미터가 해석되어 2번 영화가 투표됨
Url: hpp-3.php?movie=1&name=&movie=2&action=vote

 



반응형