본문 바로가기

웹 해킹/기타 웹 취약점

[주통기 웹 취약점] 프로세스 검증 누락, 관리자 페이지 노출

 

프로세스 검증 누락

: 인증이 필요한 모든 페이지에 대해 접근제어가 미흡하여 비인가자가 접근할 수 있는 취약점

 

 

 

공격자는 중요 페이지에 접근해서 정보를 변조하거나 탈취 할 수 있다.

 

+) 

여기서 헷갈리는 점이 생겼다. 그럼 불충분한 인증, 인가와 프로세스 검증 누락은 어떻게 구별하지?

찾아보니 아래와 같이 정리할 수 있다.

 

불충분한 인증 : 개인정보 수정 시 PW확인이 없는 경우
불충분한 인가 : 민감 데이터나 기능에 접근 권한이 없는 경우 (행위 위주의 느낌)
프로세스 검증 누락 :  민감 페이지 접근이 가능한 경우 (페이지 자체)

                                   => 대부분 URL 조작을 통해 접근한다. 

 

사실 이런건 취약점을 찾는 사람이 어떻게 분류하냐에 따라 다르긴 하다. 뭐가 되었든 취약점에 대한 설명만 제대로 할 수 있으면 된다.

 

 

[보안 방법]

* 우회될 수 있는 플로우를 차단하여야 하며, 페이지별 권한 매트릭스를 작성하여 페이지에 부여된 권한의 타당성을 체크한 후 권한 매트릭스를 기준으로 전 페이지에서 권한 체크가 이뤄지도록 구현하여야 함

 

* 인증이 필요한 모든 페이지에 대해 유효 세션임을 확인하는 프로세스 및 주요 정보 페이지에 접근 요청자의 권한 검증 로직을 적용함

 

* 유효 세션의 검증 및 페이지에 대한 접근 권한을 Client Side Script에 의존할 경우 사용자가 임의로 수정할 수 있으므로 Server Side Script로 구현된 프로세스를 사용

 


 

관리자 페이지 노출

:  인가되지 않은 자가 관리자 페이지 및 메뉴에 접근할 수 있는 취약점

 

 

 

소스코드를 확인하거나 URL 유추, 구글링을 통해 관리자 페이지를 찾을 수 있다. 

 

 

[보안 방법]

* 일반 사용자의 접근이 불필요한 관리자 로그인 페이지 주소를 유추하기 어려운 이름으로 변경하고 관리자 페이지 접근 포트도 변경함

 

* 관리자 페이지의 하위 페이지 URL을 직접 입력하여 접근하지 못하도록 페이지마다 세션 검증이 필요함

 

* 관리자 페이지 이외에도 특정 사용자만 접근 가능한 페이지들은 정상적인 프로세스에 따라 접근할 수 있도록 페이지마다 세션 검증이 필요함

 

* 웹 방화벽을 이용하여 특정 IP만 접근 가능할 수 있도록 룰셋 적용