MVC ASP.NET 웹 페이지에서 uri의 절대 경로를 얻으려고합니다. 나는삽입 된 스크립트를 페이지의 절대 경로에서 버리는 방법은 무엇입니까?
Request.Url.AbsolutePath
을 사용하고 있습니다하지만이
http://example.com/about/%27%3bfunc(document.cookie)%3b%27gfg
이 나에게 "절대 URL"
/about/';func(document.cookie);'
을 줄 것 같은 URL을 제공하여 일부 영리한 XSS 기법을 사용하여 해킹 할 수있다
위의 Request 개체를 사용하십시오. 그러면 어떻게 피할 수 있을까요? 건배 옌스
처음으로, 아무 repro. '새로운 Uri ("http://example.com/about/%27%3bfunc(document.cookie)%3b%27gfg")를 호출 .AbsolutePath'는'/about/%27%3bfunc(document.cookie)%3b를 반환합니다. % 27gfg'으로 예상했다. 아마도 이전 .NET 버전을 사용하고 있습니까? 4.5에는 몇 가지 변화가있었습니다. 가장 초기에 지원되는 .NET 버전은 4.5.2 –
입니다. 둘째,이 문자열에는 잘못된 문자가 없습니다. "해킹 된"및 XSS 란 무엇입니까? 뷰 코드가 원시 텍스트를 사용하여 상대 경로 나 URL 도우미를 사용하는 대신 링크를 생성하지 않는 한이 코드는 실행되지 않습니다. 영향을받는보기 코드를 게시하십시오 –
우리는 .NET 4.0을 사용하고 있습니다. 질문을 잘못했을 수도 있습니다. 목표는 웹 페이지에 xss 코드를 삽입하는 쿼리 매개 변수와 명백한 시도없이 '깨끗한'절대 URL을 얻는 것입니다. –