기능 수준 액세스 제어 누락

대부분의 웹 응용 프로그램은 사용자가 해당 기능에 액세스 할 수 있도록하기 전에 기능 수준 액세스 권한을 확인합니다. 그러나 서버에서 동일한 액세스 제어 검사를 수행하지 않으면 해커가 적절한 권한없이 애플리케이션에 침투 할 수 있습니다.

간단한 다이어그램을 통해이 결함의 위협 원, 공격 벡터, 보안 약점, 기술적 영향 및 비즈니스 영향을 이해하겠습니다.

다음은 Missing Function Level Access Control의 전형적인 예입니다.

해커는 단순히 대상 URL을 강제합니다. 일반적으로 관리자 액세스에는 인증이 필요하지만 응용 프로그램 액세스가 확인되지 않으면 인증되지 않은 사용자가 관리자 페이지에 액세스 할 수 있습니다.

' Below URL might be accessible to an authenticated user
http://website.com/app/standarduserpage

' A NON Admin user is able to access admin page without authorization.
http://website.com/app/admin_page

손에

Step 1 − 먼저 사용자 목록과 액세스 권한을 살펴보고 계정 관리자로 로그인하겠습니다.

Step 2 − 다양한 조합을 시도해 보면 Larry가 자원 계정 관리자에 액세스 할 수 있음을 알 수 있습니다.

예방 메커니즘

  • 인증 메커니즘은 기본적으로 모든 액세스를 거부하고 모든 기능에 대한 특정 역할에 대한 액세스를 제공해야합니다.

  • 워크 플로 기반 응용 프로그램에서 사용자가 리소스에 액세스 할 수 있도록 허용하기 전에 사용자의 상태를 확인합니다.