Chrome에서 URL 리디렉션을 방지하는 방법은 무엇입니까?

Chrome에서 URL 리디렉션을 방지하는 방법은 무엇입니까?

예를 들어 URL을 입력하고 Enter 키를 누르면 abc.com다른 곳으로 갈 것이라고 예상하지 않습니다. 해당 URL이 있는 사이트가 없으면 오류 페이지가 나타날 것으로 예상됩니다. 하지만 대신 다른 URL(다른 도메인: abc.go.com)로 리디렉션됩니다.

저는 웹 기술에 대한 전문가는 아니지만 지금까지 리디렉션에는 DNS/등록자 리디렉션(보이지 않음)과 서버 측 리디렉션(표시, http 코드 301 또는 302)이라는 두 가지 주요 범주가 있다는 것을 알 수 있습니다.

Chrome에서 이러한 서버 측 리디렉션을 방지하려면 어떻게 해야 하나요? 최상의 시나리오 페이지에 다른 URL이나 IP가 있음을 알리고 계속할지 묻는 프롬프트 페이지가 나타납니다.

또 다른 예는 hackoverflow.com여기에서 두 사이트로 리디렉션되는 것입니다. 첫 번째 리디렉션 후 주차 사이트로 이동하기 전에 디자인된 홈페이지를 엿볼 수 있습니다. 이 이중 리디렉션을 중간에 중지하고 두 번째 사이트를 검토하고 싶습니다.

답변1

콘텐츠를 제공하는 응답에만 작동하기 때문에 이것이 완벽한 답변과는 거리가 멀다는 것을 알고 있지만 현재 유용하고 실행 가능한 답변이 없기 때문에 게시하기로 결정했습니다.

빠르고 간편한 솔루션으로 디버거(대부분의 브라우저에서 액세스 가능)를 사용하여 리디렉션을 거부할 수 있는 기회를 스스로 제공할 수 F12있습니다 CTRL+SHIFT+I.

페이지가 자체 스크립트를 실행하기 전에 콘솔에서 다음 줄을 실행하세요.

window.onbeforeunload = function(){ return 'Leave page?'; };

예를 들어 Chrome을 사용하는 경우:

  • 디버거( F12)를 열고출처탭.
  • F8디버거를 단계별 모드로 전환하려면 누릅니다 .
  • 문제가 있는 페이지로 이동합니다. 로드가 시작되지만 디버거에서 스크립트 실행을 허용하지 않습니다.
  • 위 코드를 콘솔에 붙여넣고 Enter 키를 누르세요.
  • 다시 누르면 F8스크립트가 실행되고 페이지 로드가 완료됩니다.
  • 이제 리디렉션이 발생하기 전에 메시지가 표시되며 이를 취소할 수 있습니다.
  • 페이지에서 반복적으로 리디렉션을 시도하는 경우 Chrome에 대화상자를 다시 표시하지 않도록 지시할 수 있습니다. 다른 곳으로 이동하려는 페이지의 추가 시도는 자동으로 실패합니다.

프롬프트가 사용자 제어를 복원합니다.

답변2

리디렉션 발생을 중지하는 또 다른 임시 방법은 esc리디렉션이 발생하기 전에 버튼을 누르는 것입니다.

esc페이지에서 js 실행을 중지하고 html 렌더링도 중지하므로 리디렉션이 발생하지 않을 만큼 빨리 눌러지지만 페이지가 완전히 로드되지 않을 수도 있습니다. 페이지 콘텐츠 및 쿠키와 같은 기타 정보를 조사하는 데 유용할 수 있습니다.

답변3

이 문제에 대한 내 경험상 모든 상황에서 이를 처리할 수 있는 좋은 방법은 없습니다. 얼마 전 은행 피싱 사기를 분석하던 중 이 문제에 직면했습니다. 오랜 시간이 걸렸기 때문에 나는 이 문제에 대한 알림을 직접 찾고 있었습니다. 페이지가 자동으로 리디렉션되지 않도록 크롬에서 변경을 시도했지만 아무것도 작동하지 않았습니다. 작동하지 않는 이유는 이것이 페이지 상단에 있었기 때문입니다.

<html>
    <head>
        <meta content='0;URL=&#39;https://scam-website-two.scam&#39;' http-equiv='refresh' />
    </head>
    <!-- other HTML here -->
</html>

해당 meta태그는 첫 번째 사기 웹사이트에 도달한 후 두 번째 사기 웹사이트로 리디렉션되었습니다. meta태그를 사용한 리디렉션에 대한 추가 정보여기.

따라서 내가 아는 한 리디렉션을 중지할 수 없습니다. 하지만 이와 같은 성가신 상황에 대한 대체 해결책은 웹 페이지를 텍스트 파일로 다운로드하고 내가 한 것과 똑같은 내용을 분석하는 것이기 때문에 신경쓰지 않았습니다.

이를 수행하는 방법은 다양합니다. 나는 사기를 분석하는 전용 Linux VM 내부에서 작업하고 있었기 때문에 터미널(bash) 내부에서 다음을 수행했습니다.

content=$(wget http://scam-website-one.scam -q -O -)

echo $content > scam.html

신용이 필요한 신용

요약하면 기본 알고리즘은 다음과 같습니다.

  1. 언어를 선택하세요
  2. 문제 URL에 대해 HTTP GET을 수행하세요.
  3. 출력 문자열을 변수에 저장
  4. 출력 문자열을 파일에 저장

앞서 언급했듯이 이는 적어도 리디렉션의 원인이 무엇인지 파악하는 데 도움이 됩니다. 파일을 다운로드한 후 해당 태그를 제거한 meta후 페이지를 검토할 수 있었습니다.

답변4

제가 아는 한 이 기능을 비활성화할 수 있는 방법은 없습니다.

더 중요한 것은 그렇게 하면 웹 서버가 의존하는 매우 기본적인 기능이 손상된다는 것입니다. 많은 웹사이트가 작동을 멈출 것으로 예상할 수 있습니다.

최소한 - 모든 'www' 리디렉션이 작동을 중지합니다. - 모든 'http-to-https' 리디렉션이 작동을 중지합니다.

따라서 수동으로 '를 입력해야 합니다.https://www' 모든 도메인 앞에.

그 외에도 웹사이트 내의 많은 하위 페이지도 작동이 중지됩니다.

따라서 Chrome 및 Firefox 개발자가 브라우저 수준에서 리디렉션을 모두 비활성화하는 것을 매우 어렵거나 불가능하게 만든다고 해도 놀라지 않을 것입니다.

관련 정보