Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

수정:ERR_BLOCKED_BY_XSS_AUDITOR

Chrome은 새로운 기능과 보안 개선 사항을 포함하기 위해 수시로 출시되는 새 버전으로 지속적으로 활발히 개발되고 있습니다. Chrome은 탐색에만 사용되는 것이 아닙니다. 개발자가 사용하는 많은 웹 서비스에도 사용됩니다.

수정:ERR_BLOCKED_BY_XSS_AUDITOR

최근 Chrome 57 빌드에서는 XSS 감사자 감지 기능이 크게 향상되었습니다. 웹 서비스가 작동을 멈추고 'ERR_BLOCKED_BY_XSS_AUDITOR 오류 메시지가 표시되는 새로운 지침이 설정되었습니다. '.

이 오류 메시지는 HTML 콘텐츠가 요청 내에서 POST 메서드를 통해 전송될 때 발생합니다. Google 크롬에는 항상 양식을 통해 제출되는 HTML을 분석하고 해당 요청을 차단하는 XSS 보안 기능이 있습니다. 이렇게 하면 양식이 전송되지 않고 XSS 악용이 방지됩니다.

Chrome에서 'ERR_BLOCKED_BY_XSS_AUDITOR' 오류 메시지의 원인은 무엇입니까?

앞서 언급했듯이 최근 빌드 의 Chrome은 XSS 취약점이 악용되지 않도록 XSS Auditor를 개선했습니다. 이 때문에 소스 코드를 적절하게 업데이트하지 않으면 오류 메시지가 나타날 수 있습니다.

대부분의 경우 위양성 브라우저가 '교차 사이트 스크립팅' 공격이 강제 실행되고 있다고 생각할 때. 이러한 공격은 주로 브라우저가 웹사이트의 표시 측면의 일부가 아닌 JavaScript 또는 HTML을 렌더링하도록 속일 때 발생합니다.

해결책(웹사이트를 관리하는 경우)

웹 사이트 관리자이고 정상적인 사용 중에 이 오류 메시지가 발생하는 경우 일부 페이지 헤더를 POST 헤더에 추가하여 제거를 시도할 수 있습니다. 이것은 XSS Auditor 요청을 적절하게 처리하는 적절한 대안이 나올 때까지 임시 수정 사항입니다.

PHP

PHP 파일에 다음 헤더를 추가하십시오.

header('X-XSS-Protection:0');

ASP.NET

여기에서 소스 코드에 적절한 처리기를 추가할 수 있을 때까지 XSS 보호를 일시적으로 비활성화합니다.

HttpContext.Response.AddHeader("X-XSS-Protection","0");

Web.Config를 구성하는 경우 파일에 다음 코드를 대신 추가할 수 있습니다.

<system.webServer>

    <httpProtocol>

        <customHeaders>

            <add name="X-XSS-Protection" value="0" />

        </customHeaders>

    [...]

ASP.NET 서버 요청 유효성 검사

경우에 따라 필요한 헤더를 추가한 경우에도 서버가 POST 요청을 거부합니다. 또 다른 해결 방법은 'Request.Unvalidated '는 '안전하지 않은' 데이터 요청 획득을 처리하기 위해 특별히 생성된 개체입니다.

var code = Request.Unvalidated.Form["code"];

이것은 ASP.NET 요청 유효성 검사에서만 작동합니다. .

웹 양식을 사용하는 경우 , 다음을 사용할 수 있습니다.

<@ Page validateRequest="false" %>

MVC를 사용하는 경우 , 우리는 '[ValidateInput(false)]을 사용할 수 있습니다. '는 컨트롤러의 속성입니다. 이는 유효성 검사를 방지하기 위해 수행됩니다.

[ValidateInput(false)]

public ActionResult Convert(CodeRequest request)

{ ... }

IIS HttpRuntime 설정

IIS Express는 웹 서비스를 위해 Visual Studio에서 사용되며 현재까지 가장 많이 사용되는 아키텍처 중 하나입니다. ASP.NET을 사용하는 경우 IIS는 ASP.NET이 제어권을 획득하기 전에도 요청을 차단할 수 있습니다. web.config 에서 이 기능을 끄려고 합니다. 다음 코드를 사용하여 이전 동작을 얻으십시오.

<httpRuntime requestValidationMode="2.0"/>

이렇게 하지 않으면 IIS가 실패하고 요청이 ASP.NET으로 전달되기 전에도 거부됩니다.

참고: 이러한 해결 방법은 웹 사이트에 액세스할 수 없고 손실을 초래하는 경우에 좋은 아이디어입니다. 항상 XSS Auditor를 적절하게 처리할 수 있도록 소스 코드를 수정하십시오. 적절한 수정을 할 수 있을 때까지 일시적으로만 사용하십시오.

해결책(웹사이트를 관리하지 않는 경우)

일반 사용자이고 웹사이트에 액세스하거나 관리할 수 없는 경우 XSS Auditor 없이 Chrome을 실행할 수 있습니다. Chrome의 바로 가기를 만들고 우리의 조건에서 실행하는 데 필요한 플래그를 추가합니다.

  1. 바탕 화면의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 새로 만들기> 바로가기를 선택합니다. .
  2. 이제 컴퓨터에 설치된 Chrome 버전에 따라 다음 코드 줄을 붙여넣습니다.

64비트 Chrome용

"C:\Program Files\Google\Chrome\Application\chrome.exe" -disable-xss-auditor

32비트 Chrome용

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-xss-auditor
수정:ERR_BLOCKED_BY_XSS_AUDITOR
  1. Chrome 바로가기가 생성됩니다. 이제 웹사이트에 접속하여 오류 메시지가 해결되었는지 확인하십시오.

참고: 이 방법은 보안 메커니즘의 필수적인 부분인 브라우저에서 XSS Auditor를 비활성화합니다. 자신의 책임하에 진행하고 이 기능은 일시적으로만 사용하는 것이 좋습니다.