2014-01-24 9 views
0

CAT.NET에 내 웹 사이트에 사이트 간 리디렉션 취약점이 있다고합니다. 아래 코드는 문제가 있으며 리디렉션 공격을 일으킬 수 있다고합니다.CAT.NET : ASP.net 사이트 간 리디렉션 취약점

this.Response.Redirect(this.Page.Request.Url.ToString()); 

사용자가 제어 할 수있는 입력이 URL에있는 경우 리디렉션 공격이 발생한다고 생각합니다. 그러나이 경우 URL에 사용자 입력이 없습니다.

누구에게 이것이 정말로 문제가되거나 거짓 긍정적인지 알 수 있습니까? 이것이 실제로 문제가되는 이유와 해결 방법은 무엇입니까?

답변

1

사이트 간 리디렉션 취약점은 요청이 처리에 수행 된 후에 리디렉션되어야하는 페이지 (일반적으로 폼 인증 사용)를 지정하는 요청에 매개 변수가 추가 될 때 발생합니다.

URL은 다음과 같습니다. www.mysite.com/Logon?returnURL=www.mysite.com/Logon. returnURL이 경우 if (Url.IsLocalUrl(returnUrl))

로컬 인 경우,이 확실성 flase 수 있습니다 것을 확인하여 그것은 피할 아주 쉽게 www.mysite.com/Logon?returnURL=www.hackerSite.com/Logon

:
악성 조치는 잘못된 URL이 매개 변수를 대체 구성 리디렉션 전에 유효성 또는 리디렉션 URL을 확인하는 것이 항상 최선의 방법입니다.