본문 바로가기
IT/Knowledge

XPath 인젝션 취약점

by 성준하이 2023. 9. 25.
반응형
XPATH 인젝션 취약점이란?

-> 코드 : XI
-> 점검항목 : XPath

-> 개요 : 데이터베이스와 연동된 웹 어플리케이션에서 XPath및 XQuery 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼에 조작된 질의문을 삽입해서 인증 우회를 통해 XML 문서로부터 인가되지 않은 데이터를 열람할수 있는 취약점

 

결국 injection의 한 종류이다.

 

가장 많이 알려진 sql injection 과의 차이점은 사용되는 문법에서 차이가 있다.

 

sql injection은 input값에 들어가는 값이 쿼리로 이동을 하지만 

xPath injection은 코드로 이동을 해서 동작을 한다.

xpath injection에 대한 사이트이다.

https://cheatsheet.haax.fr/web-pentest/injections/server-side-injections/xpath/

 

Offensive Security Cheatsheet

Navigation : Open Source Intelligence (OSINT) Web Pentest - Resources Discovery - Applicative Scans - Content Management Systems (CMS) - Injections -- Server Side Injections --- SQL Injections --- NoSQL Injections --- LDAP Injections --- XPath Injections -

cheatsheet.haax.fr

 

좀더 쉽게 풀어 설명하면

 

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

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

 

취약점을 방어하는 방법은 

1. XPath 인젝션 취약점은 sql 인젝션 취약점과 매우 유사하다.

대응방안 역시 XPath 인젝션에 자주 사용하는 문자열들을 필터링 해주는것이 가장 중요하다.

필터링 특수문자
' ' = ( )
[ ] / : *

2. 웹 애플리케이션에서 발생하는 에러를 공격자에게 매우 강력하게 작용하므로 에러메세지를 제공하면 안된다.

에러메세지 대용으로 개발자가 직접 만들어 놓은 페이지를 보여주면 취약점을 보안할수 있다.

반응형

'IT > Knowledge' 카테고리의 다른 글

127.0.0.1 / localhost (LoopBack IP 주소)  (59) 2023.10.05
Java 와 Kotlin 차이점(안드로이드 개발)  (65) 2023.09.30
SSH 로그인 RSA 방식  (58) 2023.09.13
redis data type 종류  (51) 2023.09.11
UUID란?(Universally Unique Identifier)  (37) 2023.09.01

댓글