[보안 해킹] 홈페이지 개발 보안 방안 - XPath 인젝션
■ 취약점 설명
- 외부 입력 값을 적절한 검사과정 없이 XPath 쿼리문 전달이 가능해 지면, 공격자가 쿼리문의 구조를 임의로 변경 가능하게 하는 취약점
■ 보안 대책
⑴ XPath 쿼리에 사용되는 외부 입력데이터에 대하여 특수문자(", [, ], /, =, @ 등) 및 쿼리 예약어 필터링 수핼
⑵ 인자화된 쿼리문을 지원하는 XQuery문 사용
■ 코드예제
- 다음 예제에서 name의 값으로 user1', passwd의 값으로 'or '=' 을 전달하면 다음과 같은 질의문이 생성되어 인증과정을 거치지 않고 로그인이 가능한 코딩
// users/user[login/text() = 'user1 and password/text() = " or "="]/home_dir/text()
- 인자화된 쿼리문을 지원하는 XQuery를 사용하여 미리 쿼리 골격을 생성하고, 이에 인자값을 설정함으로써 외부입력으로 인해 쿼리 구조가 바뀌는 것을 차단하도록 코딩
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Security > Hacking & Security' 카테고리의 다른 글
[보안 해킹] 홈페이지 개발 보안 - 파일 업로드 (0) | 2016.10.24 |
---|---|
[보안 해킹] 홈페이지 개발 보안 - 크로스 사이트 스크립트 (0) | 2016.10.21 |
[보안 해킹] 홈페이지 개발 보안 방안 - XQuery 인젝션 (0) | 2016.10.20 |
[보안 해킹] 홈페이지 개발 보안 방안 - 운영체제 명령 실행 (0) | 2016.10.19 |
[보안 해킹] 홈페이지 개발 보안 방안 - SQL 인젝션 (0) | 2016.10.18 |