불충분한 인가 취약점은 페이지 접근을 위한 인증기능이 구현되지 않을 경우, 해커나 인가되지 않는 사용자가 페이지에 접근 및 중요 정보의 변조를 할 수 있는 취약점 입니다.
불충분한 인증과 비슷한 개념의 취약점 입니다.
어떤 페이지에 권한이 없는 사용자가 접근할 수 있거나 변조(수정,삭제)를 할 수 있다면 불충분한 인가 취약점이 존재한다고 할 수 있습니다.
#방법1
가장 먼저 페이지에 이동을 할 때 단순한 키 값을 노출시켜 이동 하는지 확인하여야 합니다.
가령 게시판에서 게시판 목록의 세부 글 보기 기능이 단순한 숫자값을 가지고 조회하는 경우가 있겠습니다.
이러한 경우에 다른 게시글의 키 값인 숫자값을 가지고 수정 및 삭제 할 때 해당 값을 바꾸어 버리는 경우가 생깁니다.
그러므로 가급적 세부 글 보기 기능은 공격자가 쉽게 판독 할 수 없는 값으로 사용되어야 합니다.
#방법2
다음으로 권한이 필요한 정보에 대해서 등록, 수정 및 삭제 등 변경행위가 이루어지는 경우에는 반드시 요청에 대한 권한여부를 서버에서 검증하여야 합니다.
간단하게 서버에 저장된 SESSION값을 통해서 올바른 인원의 요청인지를 검사하는 것 입니다.
또는 로그인이 JWT방식 이라면 해당 값이 유효한지를 검사하면 되겠습니다.
#방법3
페이지별로 권한에 따라 접근이 가능한지 불가능한지를 점검해야 합니다.
브라우저 코드를 가리는 것도 중요하지만 인터셉터, 필터 기능에서 권한여부를 확인하도록 해야 합니다.
이상으로 불충분한 인가(IN)에 대해서 간단하게 살펴보았습니다.
궁금한점 또는 틀린 부분은 언제든 연락주세요! 👻
'웹 취약점(Web vulnerability)' 카테고리의 다른 글
18. 세션고정(SF) (0) | 2021.12.08 |
---|---|
17. 불충분한 세션만료(SC) (0) | 2021.12.07 |
15. 세션 예측(SE) (0) | 2021.12.07 |
14. 크로스 사이트 리퀘스트 변조(CSRF) (0) | 2021.12.06 |
13. 취약한 패스워드 복구(PR) (0) | 2021.12.06 |
댓글