ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3. XPath 인젝션 취약점
    웹 취약점 분석 2019. 4. 6. 00:55

    XPATH 인젝션 취약점이란?

     

    코드

    XI

    점검항목

    XPath

    개요

    데이터 베이스와 연동된 웹 어플리케이션에서 XPath 및 XQuery 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소입력창 또는 로그인 폼등)에 조작된 질의문을 삽입하여 인증 우회를 통해 XML 문서로부터 인가되지 않은 데이터를 열람할 수 있는 취약점

    1. XML 구조에 악의적인 쿼리 또는 코드를 삽입하여 정보를 탈취하는 공격

    2. 좀더 쉽게 생각하면 XML을 DB라고 생각하고, XPath를 SQL이라고 생각하면 훨씬 간편합니다.

     

    XPath 명령어는 아래와 같습니다.

     

     

    공격 실습 :

    해당 사이트에서 XPath 인젝션 실습을 할수 있습니다. 

     

    로그인에 실패하면 다음과 같이 출력됩니다.

     

    다음의 값을 넣고 한번 확인해 보겠습니다.

    Login : admin

    Password : ' or 1=1 or 'a' = 'a

     

    Neo라는 이름으로 로그인이 된것 같습니다. 

    이런 식으로 XPath 인젝션이 가능한 곳이있습니다.

     

    XPath 인젝션 취약점의 대응방안은 다음과 같습니다.

     

    1. XPath 인젝션 취약점은 sql 인젝션 취약점과 매우 유사합니다. 대응방안 역시 XPath 인젝션에 자주 사용하는 문자열들을 필터링 해주는것이 가장 중요합니다.

     

    필터링 특수문자

    '

    '

    =

    (

    )

    [

    ]

    /

    :

    *

    2. 웹 애플리케이션에서 발생하는 에러를 공격자에게 매우 강력하게 작용하므로 에러메세지를 제공하면 안된다. 에러메세지 대용으로 개발자가 직접 만들어 놓은 페이지를 보여주면 취약점을 보안할수 있습니다.

     

    '웹 취약점 분석' 카테고리의 다른 글

    6. 악성컨텐츠 삽입 취약점  (0) 2019.04.13
    5. 정보노출 취약점  (0) 2019.04.13
    4. 디렉토리 인덱싱 취약점  (1) 2019.04.07
    2. SQL 인젝션 취약점  (0) 2019.04.06
    1. 운영체제 명령 실행 취약점  (0) 2019.03.02

    댓글

Designed by Tistory.