본문 바로가기
공부/KISA

신뢰되지 않는 URL 주소로 자동접속 연결 - KISA 소프트웨어 개발 보안 가이드

by Skogkatt의 개인 블로그 2020. 7. 20.
반응형

https://www.kisa.or.kr/public/laws/laws3.jsp

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드 한국인터넷진흥원 기술안내서 가이드 입니다. 게시판 목록 보기 기술안내서 가이드 표 대분류 소분류 기술안내서 가이드 대상 수준 인터넷 진흥 및 이용 활성화 인터넷 진흥

www.kisa.or.kr


구현 단계 시큐어코딩 가이드 - 입력 데이터 검증 및 표현 - 신뢰되지 않는 URL 주소로 자동접속 연결

가. 개요

  • 사용자로부터 입력되는 값을 외부 사이트의 주소로 사용하여 자동으로 연결하는 서버 프로그램은 피싱(Phishing) 공격에 노출되는 취약점을 가질 수 있다.
  • 일반적으로 클라이언트에서 전송된 URL 주소로 연결하기 때문에 안전하다고 생각할 수 있으나, 공격자는 해당 폼의 요청을 변조함으로써 사용자가 위험한 URL로 접속할 수 있도록 공격할 수 있다

나. 보안대책

  • 자동 연결할 외부 사이트의 URL과 도메인은 화이트 리스트로 관리하고, 사용자 입력값을 자동 연결할 사이트 주소로 사용하는 경우에는 입력된 값이 화이트 리스트에 존재하는지 확인해야 한다.

다. 코드예제

JAVA
더보기

다음과 같은 코드가 서버에 존재할 경우 공격자는 아래와 같은 링크를 통해 희생자가 피싱 사이트 등으로 접근하도록 할 수 있다.

다음의 예제와 같이, 외부로 연결할 URL과 도메인들은 화이트 리스트를 작성한 후, 그중에서 선택하도록 함으로써 안전하지 않은 사이트로의 접근을 차단할 수 있다.

 

C#
더보기

외부 입력 값으로 받은 URL로 검증 없이 연결되는 경우, 공격자의 입력에 따라 피싱사이트 등으로 연결될 수 있다.

로컬 URL 검증이나 white list 등을 이용하여 검증이 필요하다.


참고자료

반응형

댓글