티스토리 뷰
Web Analytics/SW 보안약점 진단원
[구현보안] 입력 데이터 검증 및 표현 06 - 신뢰되지 않는 URL주소로 자동 접속 연결
SalaYH 2019. 9. 30. 23:49반응형
가. 원인
- 외부 입력값을 검증하지 않고 외부 사이트로 자동연결
나. 영향
- 피싱사이트 연결
- 크로스 사이트 스크립트 공격
다. 보안대책
- 자동연결할 외부 사이트의 URL과 도메인을 화이트 리스트로 관리 및 사용
라. 안전한 코드
1. 화이트 리스트로 URL 검증
String allowedUrl[] = { "/main.do", "/login.jsp" }; int index = Integer.parseInt( request.getParameter("index") ); if ( index > -1 && index < allowedUrl.length ) { response.sendRedirect ( allowedUrl[ index] ); }
|
마. 진단방법
<리다이렉트 URL 검증>
1. 외부 사이트로 리다이렉션 하는 함수나 메서드가 존재하는지 확인
2. 리다이렉트 하는 함수가 외부입력값을 사용하는지 확인
3. 외부 입력값의 주소에 대한 유효성을 검증하는지 확인
바. 정/오탐 케이스
<정탐 케이스>
1. 검증없이 페이지 이동 URL에 입력값이 사용될 경우
<오탐 케이스>
1. getContextPath() 함수는 내장함수로 context path를 리턴하므로 안전
반응형
'Web Analytics > SW 보안약점 진단원' 카테고리의 다른 글
[구현보안] 입력 데이터 검증 및 표현 08 - XPath 삽입 (0) | 2019.10.02 |
---|---|
[구현보안] 입력 데이터 검증 및 표현 07 - XQuery 삽입 (0) | 2019.10.01 |
[구현보안] 입력 데이터 검증 및 표현 05 - 위험한 형식 파일 업로드 (0) | 2019.09.30 |
[구현보안] 입력 데이터 검증 및 표현 04 - 운영체제 명령어 삽입 (0) | 2019.09.30 |
[구현보안] 입력 데이터 검증 및 표현 03 - 크로스 사이트 스크립트 (0) | 2019.09.30 |
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday