ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 모의해킹의 아홉 번째 접근 통제 취약점 공격
    웹 해킹 2021. 3. 19. 16:08

    우선 취약한 통제 리스크의 사례를 알아보겠다.

    -    URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우

     

    -    적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지 접근할 수 있는 경우

     

    -    디렉토리 트래버셜 취약점과 같이 웹 디렉토리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우

     

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

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

    공격자는 항상 요청 메세지의 어떤 부분이든 마음대로 변경할 수 있다는 것을 항상 염두에 두어야한다.

     

    IDOR 공격 실습을 해보겠다.

    IDOR 공격 실습 메뉴 화면

     

    버프 스위트의 인터셉트 기능을 이용하여 티켓 주문을 할 때 전달되는 요청 메세지를 확인해 보겠다.

    ticket 파라미터들을 볼 수 있는 화면

     

    만약 파라미터들을 조작할 수 있다면 수량을 1000으로 가격은 0 으로 바꿔보겠다.

    파라미터들을 조작하고 forward 한 화면

     

    파라미터를 조작함으로써 웹 애플리케이션의 기능을 악용할 수 있다.

     

    관리자 페이지 인증 우회

    관리자 페이지의 URL을 직접 요청할 때 발생하는 공격이다. 보통 관리자 페이지는 admin 경우가 많은데 그 밖에도 manager, system 등의 URL로 되어 있을 수 있다.

     

    정상적인 웹 애플리케이션의 경우 사용자가 이러한 관리자 페이지에 접근하면 해당 사용자가 관리자 권한이 있는지 확인해야 할 것이다. 하지만 로그인하지 않은 사용자조차도 관리자 페이지의 URL만 알게 되면, 관리자 메뉴에 접근할 수 있다.

     

    bWAPP/admin에 접속한 화면

     

    이처럼 로그인하지 않아도 관리자 포털 메뉴로 접속할 수 있다.

    단순히 URL을 추측하여 입력함으로써 관리자 페이지에 접근하고 정보를 알아낼 수 있다.

     

    디렉토리 트래버셜 취약점 공격

    웹 애플리케이션의 파라미터 중에는 파일 경로를 그 값으로 지정하는 파라미터가 존재할 수 있다.

    이 경우 공격자는 해당 파일의 경로를 조작하여 개발자가 의도하지 않은 경로에 있는 파일이 지정되도록 시도하기도 한다.

     

    디렉토리 트래버셜 취약점 공격 실습을 하겠다.

    디렉토리 트래버셜 취약점 실습 페이지 화면

     

    위 화면에서 page 파라미터를 보면, message.txt.가 지정되어 있다.

    page의 파라미터를 ../를 이용하여 상위 디렉토리로 가도록 바꿔보겠다.

    page 파라미터를 ../../../etc/passwd로 바꾼 화면

     

     

    접근 통제 취약점 공격 대응 방안

     

    IDOR 공격에 대한 보호 대책으로, 입력 값 검증을 거쳐야 한다. 굳이 클라리언트로부터 전달받을 필요가 없는 정보는 웹 애플리케이션 내부에서 직접 설정하여 불필요한 파라미터 조작 가능성을 원천 차단한다.

     

    관리자 페이지 우회 공격 대응 방법으로, 서버가 제공하는 모든 기능에는 각 기능을 요청하는 사용자가 해당 기능을 실행할 수 있는 적절한 권한을 갖고 있는지 확인하는 루틴이 구현되어야 한다. 관리자 인터페이스에 별도의 포트 번호나 프로토콜을 사용하는 것이 좋다.

     

    디렉토리 트래버셜 공격으로부터 보호하기 위해서는 IDOR 공격과 마찬가지로 입력 값 검증을 거처야한다. 또한 ../ 와 같은 문자열을 차단한다.


    위 글은 화이트 해커를 위한 웹 해킹의 기술을 참고했습니다.

    댓글

Designed by Tistory.