인증 Athentication

:  그 사람 본인이 맞는지 확인하는 작업

 

- 인증 과정에서 일어나는 취약점

- 인증을 무시하는 공격

 

인가 Athorization

: 특정인에게 특정 권한을 부여하는 것

 

- 원래는 못해야 하는 것을 하는 것.

 

 

두 가지는 어디에 방점을 두냐에 따라 혼용해서 해석되기도 한다.

 

 


 

 

인가 취약점에 대한 전략

: 로직 설계의 헛점을 찾는 것.

 

1. 파라미터 변조

2. 직접 접근

 

 


 

케이스 분석

주석으로 접근을 제한하는 케이스 (클라이언트 측 인가, 권한 체크)

주석이 아닌, CSS로 display:none; 이 되어있을 수 있다.

 

이 경우 Response 변조를 통해서 공략한다.

 

 

인가 체크를 클라이어트 측에서 하고 있는 경우

실행되는 자바스크립트로 찾아갈 수 있어야 한다.

 

 

확인/검사/검증 하는 것들은 모두 보안을 위해 서버측에서 진행해야 한다.

클라이어트에서 진행할 것들은 편의성 기능들 (이메일 주소 중 @가 있는지 체크하는 정도의 간단한 것들)만 해야 한다.

위 취약점이 있다면 모두 우회가 가능하다.

 

 

위 취약점이 있으나, javascript가 난독화 되어 있는 경우

1. 읽을 수 있도록 복구 시키던지

2. 동적 분석을 진행한다.

 

정적 분석 : 실행하지 않고, 코드를 읽으면서 분석

동적 분석 : 분기문을 중점으로 코드를 직접 실행해보면서 분석

 

 

Gusssing 공격

추측을 통해 취약점을 찾는 것. (파라미터 변조)

 

이를 통해,

관리자(혹은 그 글쓴이) 외에는 못들어가는 페이지를 들어가거나,

보이지 않는 버튼을 누를 수 있다.

 

간단히 CSS나 주석을 통해서 안 보이게 해뒀을 수도 있고,

서버에서 필터링 해서 아예 안 보일수도 있다.

 

 

파라미터 변조 공격은 인가 취약점을 다룰 때 자주 사용하는 기법이다.

 

예)

다른 사람의 게시글 삭제 (내 글 삭제 시, 패킷을 intercept 후 다른 사람의 게시글 번호를 넣어 삭제하는 경우)

다른 사람의 정보 읽어오기

1:1 게시판 다른 사람 문의인데 보기

비밀글 읽기

 

+ Recent posts