본문 바로가기
Security/정보보안기사

[OWASP 2017] A5 취약한 접근 통제

by Berasix 2023. 1. 27.
반응형

1. 개요

접근통제 절차를 무력화시키는 공격은 공격자들에게 요구되는 핵심 기술이다.

SAST와 DAST로 접근통제 절차의 존재 여부는 탐지할 수 있으나 작동 여부는 검증할 수 없다.

자동화된 도구와 수동 점검을 해야 한다.

2. 영향

공격자가 일반적인 사용자, 관리자, 권한 부여가 가능한 사용자 등으로 가장하여 행동할 수 있게 된다.

​접근통제 실패 시 인가되지 않은 정보 누출, 데이터 조작이나 파괴 등이 일어날 수 있다.

 

3. 취약점 확인

1) URL, HTML 조작, 맞춤형 API 공격툴로 접근통제를 우회할 수 있는가?

2) 다른 계정의 정보를 열람할 수 있는가?

3) 로그인하지 않고 활동이 가능하거나, 권한상승이 가능한가?

4) JSON 웹토큰(JWT)의 접근 통제 토큰 재전송이나 변경, 권한 상승 목적으로 쿠키, 감춰진 필드 조작등이 허용되는가?

5) CORS에 대한 설정이 잘못되어 API 접근이 허용되는가?

6) 인증을 거치지 않은 사용자가 인증이 필요한 페이지에 접근이 가능한가?

4. 시나리오

1) acct 파라미터를 원하는 값으로 수정할 수 있고, 다른 계정에 접근하게 될 수 있다.

pstmt.setString(1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );

http://example.com/app/accountInfo?acct=notmyacct
 

2) 관리자 페이지에 일반 사용자가 접근할 수 있는 경우 취약하다.

 

​5. 보안 대책

1) 디폴트 정책은 차단으로 운영

2) CORS(Cross-Origin Resource Sharing) 사용 최소화

3) 레코드 소유자만 권한을 갖게 강제한다

4) 디렉터리 리스팅 기능 비활성화, .git 같은 메타데이터와 백업파일들이 루트에 존재하지 않게 운영

5) 접근 통제 실패를 기록하고, 반복적인 실패는 경고 메시지 전송

6) API와 컨트롤러에 대한 접근 임계치 제한.

7) JWT 토큰(Json Web Token)은 로그아웃 이후 무효처리.

 

* JWT에 관한 글

* CORS에 관한 글

728x90

댓글