[보안 해킹] 홈페이지 개발 보안 방안 - XQuery 인젝션
■ 취약점 설명
- XML 데이터에 대한 동적 쿼리문(XQuery)을 생성할 때 외부 입력 값에 대해 적절한 검증절차가 존재하지 않으면, 공격자가 쿼리문의 구조를 임의로 변경 가능하게 하는 취약점
■ 보안 대책
⑴ XQuery에 사용되는 외부 입력데이터에 대하여 특수 문자 및 쿼리 예약어 필터링
⑵ XQuery를 사용한 쿼리문은 스트링을 연결하는 형태로 구성하지 않고 인자(파라미터)화된 쿼리문 사용
■ 코드예제
- 다음의 예제에서는 외부의 입력(name)값에 something' or '1'='1' 을 name 의 값으로 변조한 후 executeQuery를 사용하여 쿼리문을 전달하면 파일 내의 모든 값이 출력될 수 있는 코딩 'doc('users.xml')/userlist/user[uname='something' or '1'='1']"
- 다음의 예제에서는 외부 입력 값을 받고 해당 값 기반의 XQuery상의 쿼리 구조를 변경시키지 않는 bindXXX함수를 이용함으로써 외부의 입력으로 인하여 쿼리 구조가 바뀌는 것을 차단하도록 코딩
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Security > Hacking & Security' 카테고리의 다른 글
[보안 해킹] 홈페이지 개발 보안 - 크로스 사이트 스크립트 (0) | 2016.10.21 |
---|---|
[보안 해킹] 홈페이지 개발 보안 방안 - XPath 인젝션 (0) | 2016.10.20 |
[보안 해킹] 홈페이지 개발 보안 방안 - 운영체제 명령 실행 (0) | 2016.10.19 |
[보안 해킹] 홈페이지 개발 보안 방안 - SQL 인젝션 (0) | 2016.10.18 |
[보안 해킹] 홈페이지 보안 취약점 - 에러처리 취약점 (0) | 2016.10.18 |