Study/Web

접근 통제 취약점

seomj 2021. 6. 15. 18:00

접근 통제 취약점

인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되어 있지 않을 때 접근 통제 취약점이 존재

 

취약한 접근 통제의 경우

  • URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우
  • 적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지에 접근할 수 있는 경우
  • 디렉터리 트래버셜 취약점과 같이 웹 디렉터리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우

 

 

안전하지 않은 직접 객체 참조(IDOR 공격)

부적절한 이용자 인가 여부

불충분한 이용자 인가

"Insecure Direct Object Reference"

 

공격자가 요청 메시지의 URL이나 파라미터를 변경하여 정상적으로 허용되지 않은 기능을 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격

 

서버쪽에서 입력 값 검증을 소홀히 할 때 IDOR 취약점이 발생

관리자는 공격자가 항상 요청 메시지의 어떤 부분이든 마음대로 변경할 수 있다는 것을 염두해야 함

 

 

보안

  • 웹 애플리케이션은 사용자로부터 전달되는 모든 입력 값을 신뢰해서는 안됨
  • 적절한 입력 값 검증을 거쳐야 함
  • 화이트 리스트 검증 사용 권장
  • 클라이언트로부터 전달받을 필요가 없는 정보는 웹 애플리케이션 내부에서 직접 설정하여 불필요한 파라미터 조작 가능성을 차단해야 함

 

 

Missing Function Level Access Control

불충분한 이용자 인증

 

관리자 페이지 인증 우회

사용자가 정상적인 인증 과정을 거치지 않고 관리자 페이지(관리자 메뉴)에 접근하여 각종 정보를 획득하거나 관리 기능을 실행하는 공격

 

관리자 페이지의 URL을 직접 요청할 때 발생

admin, admin.php, admin.jsp 등과 같은 URL로 되어 있어 쉽게 추측할 수 있는 경우가 많음

(admin 외에도 manager, system 등으로 존재할 수도 있음)

자동화 툴을 이용해서 찾아낼 수 있음

 

 

보안

  • 각 기능을 요청하는 사용자가 해당 기능을 실행할 수 있는 적절한 권한을 가지고 있는지 확인
  • 누구나 쉽게 추측할 수 있는 디렉터리 사용 지양
  • 관리자 인터페이스를 별도의 포트 번호에서 제공하는 것도 좋음
  • 관리자 메뉴는 HTTPS 프로토콜을 이용하도록 구현하여 전송되는 데이터가 노출되지 않도록 해야 함

 

 

Path Traversal

경로 조작

 

디렉터리 트래버설(Directory Traversal) 취약점 공격

공격자가 요청 메시지의 URL이나 파라미터를 변경하여 정상적으로 허용되지 않은 기능 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격

 

디렉터리 트래버설 취약점은 ../과 같은 문자열을 허용함으로써 발생

../와 같이 상위 디렉터리 반복해서 이동하면 루트 디렉터리로 이동할 수 있게 되고 루트 디렉터리에서 다른 디렉터리로 이동할 수 있게 되어 호스트 내부의 모든 파일에 접근하는 것이 가능

 

 

보안

  • IDOR 공격과 마찬가지로 적절한 입력 값 검증을 수행해야 함
  • 가급적 화이트 리스트 검증을 하는 것이 좋음
  • 경우에 따라서는 블랙 리스트 검증을 사용할 수 있음

 

 

 

참고

https://yehey-study.tistory.com/entry/%EC%A0%91%EA%B7%BC-%ED%86%B5%EC%A0%9C-%EC%B7%A8%EC%95%BD%EC%A0%90