웹취약점/그누보드
취약점점검- XPath Injection
CrongBoss
2021. 1. 8. 10:03
XPath Injection 이란?
데이터 베이스와 연동된 웹 애플리케이션에서 XPath 및 XQuery 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소 입력창 또는 로그인 폼등)에 조작된 질의문을 삽입하여 인증 우회를 통해 XML 문서로부터 인가되지 않은 데이터를 열람할 수 있는 취약점
취약점 개요
점검내용 | ■ 웹페이지 내 조작된 XPath 쿼리 공격 가능성 점검 |
점검목적 | ■ XPath 쿼리에 대한 적절한 필터링을 적용하여 웹 사이트의 로직 손상 및 특정 데이터 추출을 차단하기 위함 |
보안위협 | ■ 해당 취약점이 존재할 경우 프로그래머가 의도하지 않았던 문자열을 전달하여 퀴리문의 의미 를 왜곡시키거나 그 구조를 변경하고 임의를 왜곡시키거나 그 구조를 변경하고 임의의 쿼리 를 실행하여 인가 되지 않은 데이터를 열람할 수 있으므로 적절한 필터링 로직 구현이 필요함 |
점검대상 및 판단기준
대상 | ■ 그누보드(localhost) |
판단기준 | 양호: 쿼리 입력 값에 대해 검증이 이루어지는 경우 |
취약: 쿼리 입력 값에 대해 검증이 이루어지지 않는 경우 | |
조치방법 | 쿼리 입력값에 대한 검증 로직 추가 구현 |
점검 및 조치 사례
1) 각각의 셋트의 값을 삽입하여 쿼리의 참, 것 짓에 때라 반환되는 페이지가 다른지 확인
삽입구문: 'and'a'='a, 'and'a'='b
'and'1'='1, 'and'1'='2
※보안설정 방법
-XPath 쿼리에 입력 값이 입력 값이 입력되는 경우, 엄격한 입력 값 검증을 통해 필요 문자만을 받아들이게 함() = ' : , * /
등 XPath 쿼리를 파괴하는 특수문자는 입력받지 못하게 하여야 하며, 특정 특수문자만을 필터링하는 것이 아닌 허용된 문자 이외의 모든 입력을 허용하지 않아야 함
참고
www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=106&ST=T&SV=
기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원
기술안내서 가이드
www.kisa.or.kr