티스토리 뷰

반응형

 

 

 

가. 원인

  - 외부입력값의 신뢰를 전제하여 보호 메커니즘을 구현

 

 

나. 영향

  - 보호 메커니즘을 우회하여 권한상승

  - 허가되지 않은 기능 사용

 

 

다. 보안대책

  - 상태정보, 민감데이터, 세션정보와 같은 중요정보는 서버에 저장

  - 보안절차도 서버에서 수행

  - 보안결정에 외부입력값 대신 내부 새션값을 사용

  - 외부입력값을 사용해야 할 경우, 안전한 암호화 처리 및 무결성 체크

 

 

라. 안전한 코드

1. 외부입력값 미사용

 

  int price = 1000;

  int quantity = Integer.parseInt( request.getParameter( "quantity" ) );

  int total_price = price * quantity;

  ...

 

 

 

마. 진단방법

<사용자 인증>

  1. 인증여부를 확인하기 위한 변수를 확인

  2. 변수가 세션정보 등 서버내부에서 검증된 값인지 확인

 

 

 

바. 정/오탐 케이스

<정탐 케이스>

  1. 인증정보를 쿠키에 저장하고 있는 경우

 

<오탐 케이스>

  1. 결제 로직에서 구매갯수만 입력값으로 전달받아 사용할 경우 (가격정보를 입력값으로 미사용)

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday