신뢰할 수 없는 사이트로의 URL 리디렉션 (오픈 리디렉트)
사용자 입력을 통한 오픈 리디렉트 허용 시 발생하는 보안 취약점과 피싱 공격 위험성, 그리고 서버 사이드 리디렉트 목록 관리를 통한 해결 방법을 설명합니다.
설명 # 이 사이트는 사용자가 제공한 입력을 통해 오픈 리디렉트를 허용하는 것으로 확인되었습니다. 오픈 리디렉트는 피싱 공격에서 흔히 악용되는데, 원래 도메인이나 URL이 정상적인 링크처럼 보이지만 실제로는 사용자를 악성 사이트로 리디렉션합니다. 예를 들어 https://example.com/redirect?url=https://%62%61%64%2e%63%6f%6d%2f%66%61%6b%65%6c%6f%67%69%6e 와 같은 URL은 디코딩하면 bad.com/fakelogin 으로 변환됩니다. 해결 방법 # GET 요청에서 발견된 사용자 입력을 기반으로 클라이언트를 리디렉션하지 마십시오. 사용자를 리디렉션할 대상 링크 목록은 서버 측에 저장하고, 반환할 링크의 인덱스로 숫자 값을 사용하여 조회하는 것이 권장됩니다. 예를 들어, /redirect?id=1 은 애플리케이션이 1 인덱스를 조회하여 https://example.com 과 같은 URL을 반환하도록 합니다. 이 URL은 3
