모든 오픈 리디렉션 취약점을 해결하기 위해 코드를 위생적으로 처리하려고합니다. 모든 내 C# 코드에 대해 Response.Redirect에 제공된 URL이 응용 프로그램과 동일한 도메인에 있는지 확인하기 위해 수정 사항을 적용했습니다. 그렇지 않으면 예외를 throw합니다.javascript/jquery에서 열린 리디렉션의 취약점
내 질문은 내 .js 코드의 열린 리디렉션 인스턴스에 관한 것입니다. 취약한 것으로 표시된 코드는 다음과 같습니다.
window.open('Help/Admin/webhelp/' + helpFile, '_blank', 'toolbar=no, menubar=no, status=yes, scrollbars=yes, resizable=yes');
httpReqObject.open("GET", 'GetHelpLink.ashx?modid=' + _AdminHelpContext, true);
window.open('viewcontents.aspx?did=' + grid.rows[i].cells[gridCell.docID].innerText, "toobar=0,menubar=0,resizable=1")
내 자바 스크립트 코드에서이 오픈 리디렉션 취약점을 해결하는 가장 좋은 방법은 무엇입니까?
감사합니다.
리디렉션은 어디에 있습니까? 나는 클라이언트가 GET 요청을내는 것을보고 있습니다 ... – plalx
plalx, HP Fortify 코드 스캔을 실행하여 코드 기반의 모든 취약점을 검사했으며 앞서 언급 한 코드는 "오픈 리디렉션"취약점으로 표시되었습니다. 나는 부분적으로 "window.open"에 제공된 경로의 일부가 동적으로 빌드되기 때문에 동적 부분에 일부 악의적 인 삽입을 몰래 끌어 와서 열려고하는 페이지와 다른 페이지를 열 가능성이 있기 때문에 생각합니다. 원하는 기능. – Vinay
내가 알 수있는 한, 클라이언트가 다른 URL을 요청하는 것을 막을 방법이 없습니다. 그러나 서버 측 코드는 유효하지 않은 요청이 처리되지 않도록해야합니다. – plalx