주요정보통신기반 웹 취약 분석 평가 방법 17번째 항목인 불충분한 인가(Improper authorizatioN/IN)다.
불충분한 인가는 사용자가 요청한 자원이나 기능에 대해 적절한 권한 확인을 수행하지 않아서 권한 없는 요소에 접근할 수 있는 취약점이다.
- 파라미터 변조
인증이 잘못 구현되었을 경우 파라미터 변조를 통해 다른 사용자의 계정에 접근하거나 다른 사람의 게시물 접근, 수정, 삭제 등이 가능하다.
위와 같은 사용자 정보수정 페이지가 있다고 가정하자. 위의 페이지는 id 파라미터를 사용하여 사용자를 지정하고 있다. 이를 이용하여 관리자 계정의 정보수정 페이지로 이동할 수 있다.
만약 비밀번호 변경 기능이 추가적인 인증을 요구하고 있지 않는다면 관리자 계정을 공격자 마음대로 변경한 후 접속할 수 있을 것이다.
위와 같은 GET 방식의 요청 파라미터를 변조하는것 외에도 POST 방식의 요청 파라미터를 변조할 수 있다.
POST 방식의 요청이기 때문에 URL 파라미터를 변조하는 방법으로는 관리자 계정 수정 페이지로 이동할 수 없다.
위와 같이 웹 프록시 툴을 이용하여 id 파라미터를 변조하여 관리자 계정의 수정 페이지로 이동할 수 있다.
또는 보호받는 게시글을 인가받지 않은 사용자가 접근하여 수정하거나 삭제할 수도 있다.
관리자가 게시한 TOP SECRET(?) 글은 잠겨서 일반 사용자가 접근할 수 없다.
공격자가 일반 게시글을 확인해봤을때 idx 파라미터로 게시글이 관리되고 있었다면 이를 이용해 관리자 게시글에 접근해볼 수도 있다.
세션을 사용하면 되는 문제긴 하다. 저런 식으로 파라미터로 관리하면 너무 취약해진다!
IN의 보안설정방법
- 접근제어가 필요한 중요 페이지는 세션을 통한 인증 등 통제수단을 구현하여 인가된 사용자 여부를 검증 후 해당 페이지에 접근할 수 있도록 함
- 페이지별 권한 매트릭스를 작성하여 접근제어가 필요한 모든 페이지에서 권한 체크가 이뤄지도록 구현하여야 함
'주요정보통신기반 웹 취약점 분석·평가 항목' 카테고리의 다른 글
세션 고정(SF) (0) | 2025.05.23 |
---|---|
불충분한 세션 만료(SC) (0) | 2025.05.23 |
세션 예측(SE) (0) | 2025.05.21 |
크로스사이트 리퀘스트 변조(CF) (0) | 2025.05.20 |
취약한 패스워드 복구(PR) (0) | 2025.05.20 |