본문 바로가기
Security/Web Hacking

[Web Hacking] URL 접근 제한 미흡 취약점 (Failure to Restrict URL Access Vulnerability)

by inyeong 2024. 8. 15.

URL 접근제한 미흡 취약점이란?

  • URL 접근제한 미흡 취약점 (Failure to Restrict URL Access Vulnerability)
    URL 접근 제한 실패 취약점, URL 직접 접근 취약점, URL 점핑 등 다양한 명칭
    인증, 인가된 사용자만 접근 가능한 페이지에는 접근 제한이 존재해야 하는데
    (1) 접근 제한이 존재하지 않거나, (2) 존재하지만 우회 포인트가 발생되어
    인증, 인가되지 않은 사용자가 접근 가능하게 되는 취약점
  • 인증 (Authentication)
    장치 또는 사용자의 신원을 확인하는 과정 
    ex) 로그인 
  • 인가 (Authorization) 
    인증된 장치 또는 사용자의 권한을 확인하는 과정 
    ex) 일반 회원 & 관리자
  • 공격 예시

 

 


공격 원리

  • 공격자가 원래 접근하면 안 되는 페이지에 접근하는 것
  • 어떻게? 페이지명 유추 
    1. 수동적 유추
      수동적 유추에서 많이 사용되는 도구 2가지
      (1) robots.txt
      • 웹 사이트 크롤링 규칙을 적어놓은 페이지
      • ex) 
      (2) 네이밍 패턴 

      변수, 함수, 클래스, 파일 등의 이름을 규칙적으로 짓는 방법
      • 코드의 가독성, 유지보수성을 높이기 위해
        변수, 함수, 클래스, 파일 등의 이름을 규칙적으로 짓는 방법
      • 웹 서비스마다 네이밍 패턴이 존재한다. 
      • ex) 
    2. 자동화 도구를 이용한 사전식 대입

대응 방안

  • 인증, 인가되지 않은 사용자에 대한 접근 제한 로직 설정
  • 인증되지 않은 사용자에 대한 접근 제한 소스 코드 예시 (JSP)

  • 인증되지 않은 사용자에 대한 접근 제한 소스 코드 예시 (PHP)

  • 인가되지 않은 사용자에 대한 접근 제한 소스 코드 예시 (JSP)

  • 인가되지 않은 사용자에 대한 접근 제한 소스 코드 예시 (PHP)