| 쿼리 언어 | SQL (Structured Query Language) | XPath (XML Path Language) |
| 대상 | 관계형 데이터베이스 (RDBMS) 예: MySQL, PostgreSQL, Oracle XML | 데이터 저장소 예: XML 파일, XML 데이터베이스 |
| 취약점 발생 위치 | SQL 쿼리에서 사용자 입력값이 직접 삽입될 때 | XPath 쿼리에서 사용자 입력값이 직접 삽입될 때 |
| 주요 공격 방식 | SQL 쿼리의 구조를 조작하여 데이터베이스의 데이터 검색, 수정, 삭제 등 | XPath 쿼리의 구조를 조작하여 XML 데이터의 검색, 수정, 삭제 등 |
| 위험 | 데이터베이스 데이터 유출, 데이터 변조, 인증 우회, 시스템 권한 상승 | XML 데이터 유출, 데이터 변조, 인증 우회, 데이터 무결성 해칠 수 있음 |
| 입력값 예시 | ' OR '1'='1 | ' or '1'='1 |
| 보호 방법 | Prepared Statements, 입력값 검증, 쿼리 필터링, 최소 권한 원칙 | 입력값 검증, 쿼리 필터링, XML 문서의 구조 및 권한 관리 |
| 주요 예시 | SELECT * FROM users WHERE username = 'admin' AND password = 'password' | /users/user[username/text() = 'admin' and password/text() = 'password'] |
| 공격 결과 | 민감한 데이터 유출, 인증 우회, 데이터 변조, 시스템 권한 상승 | 민감한 데이터 유출, 인증 우회, 데이터 변조, 성능 저하 공격 |