본문 바로가기
Security/Web Hacking

[Web Hacking] 파라미터 변조 취약점 (Parameter Tampering Vulnerability)

by inyeong 2024. 8. 20.

파라미터 변조 취약점이란?


사용자 입력값인 파라미터를 변조하여 발생하는 취약점 

 

 

공격 예시


  1. 타 사용자 정보 무단 열람

    해당 취약점을 통해 이름, 연락처, 비밀번호 등 회원 정보가 담긴 My Page를
    타 사용자가 무단으로 열람할 수 있다. 

    공격 과정
    1. 공격자가 자신의 계정으로 My Page에 접속한다.
    2. id=hacker(공격자 id)를 id=admin(관리자 id)으로 변조한다. 
    3. 그 결과, 관리자의 My Page 정보를 무단으로 열람할 수 있게 된다. 



  2. 타 사용자 게시글 무단 수정 

    해당 취약점을 통해 다른 사용자가 작성한 게시글을 무단으로 수정할 수 있다.

    공격 과정
    1. 공격자가 자신의 계정으로 64번 게시글을 작성한다.
    2. 64번 게시글의 수정 페이지에 접속한다. 
    3. idx=64idx=65로 변조하여 관리자 게시글 수정 페이지에 접속한다.
    4. 그 결과, 공격자는 관리자가 작성한 게시글을 무단으로 수정할 수 있게 된다. 



대응 방안 


  1. 세션을 통한 처리

    세션을 이용하면, 파라미터를 아예 받지 않고 동작을 처리할 수 있다.

    소스 코드 예시 (JSP)


  2. 사용자 입력 값에 대한 검증

    파라미터를 반드시 입력 받아야 하는 경우,
    사용자 입력 값에 대한 검증 절차를 구현하여 대응할 수 있다.

    소스 코드 예시 (JSP)