修正:ERR_BLOCKED_BY_XSS_AUDITOR
Chromeは絶えず活発に開発されており、新しいバージョンがリリースされたり、新しい機能やセキュリティの改善が加えられたりしています。 Chromeはブラウジングに使用されるだけではありません。 また、開発者が利用する多くのWebサービスにも使用されます。
最近のChrome 57ビルドでは、XSS監査人の検出が大幅に改善されました。 Webサービスが動作を停止し、エラーメッセージ「ERR_BLOCKED_BY_XSS_AUDITOR 」が発生したため、新しいガイドラインが設定されました。
このエラーメッセージは、HTMLコンテンツがリクエスト内のPOSTメソッドを介して送信されている場合に発生します。 Google Chromeには、フォームを介して送信されるHTMLを常に分析し、それらの要求をブロックするXSSセキュリティ機能があります。 このように、フォームは送信されず、XSSの悪用は回避されます。
Chromeでエラーメッセージ「ERR_BLOCKED_BY_XSS_AUDITOR」が発生する原因は何ですか?
前述のように、 最近のChromeのビルドではXSS Auditorが刷新されたため、XSSの脆弱性は悪用されません。 このため、ソースコードを適切に更新していない場合、エラーメッセージが表示される場合があります。
ほとんどの場合、「クロスサイトスクリプティング」攻撃が強制されているとブラウザが判断すると、 誤検知が発生します。 これらの攻撃は主に、ブラウザがWebサイトの表示面の一部ではないJavaScriptまたはHTMLのレンダリングにtrickされたときに発生します。
解決策(Webサイトを管理する場合)
あなたがWebサイト管理者であり、通常の使用方法でこのエラーメッセージが表示される場合は、POSTヘッダーにページヘッダーをいくつか追加することで、このエラーメッセージを削除することができます。 これは、XSS Auditorリクエストを適切に処理する適切な代替手段が見つかるまでの一時的な修正です。
PHP
PHPファイルに次のヘッダーを追加します。
header( 'X-XSS-Protection:0');
ASP.NET
ここでは、適切なハンドラーをソースコードに追加できるまで、XSS保護を一時的に無効にします。
HttpContext.Response.AddHeader( "X-XSS-Protection"、 "0");
Web.Configファイルを構成している場合は、代わりに次のコードを追加できます。
[...]
ASP.NETサーバー要求の検証
場合によっては、必要なヘッダーを追加したとしても、サーバーはPOST要求を拒否します。 別の回避策は、「 Request.Unvalidated 」を使用することです。これは、「安全でない」データ要求の取得を処理するために特別に作成されたオブジェクトになります。
var code = Request.Unvalidated.Form ["code"];
これはおそらくASP.NET Request Validationでのみ機能します 。
Webフォームを使用している場合は 、次を使用できます。
MVCを使用している場合、コントローラーの属性である ' [ValidateInput(false)] 'を使用できます。 これは、検証を防ぐために行われます。
[ValidateInput(false)] public ActionResult Convert(CodeRequest request){...}
IIS HttpRuntime設定
IIS Expressは、Webサービス用にVisual Studioで使用され、これまでで最も使用されているアーキテクチャの1つです。 ASP.NETを使用している場合、ASP.NETが制御を取得する前であっても、IISは要求をブロックする場合があります。 web.configでこれをオフにし、次のコードを使用して古い動作を取得しようとします。
これを行わないと、IISは失敗し、ASP.NETに渡される前でも要求を拒否します。
注: Webサイトにアクセスできず、損失が発生している場合は、これらの回避策をお勧めします。 XSS Auditorを適切に処理できるように、 常にソースコードを変更する必要があります。 適切な修正ができるまで一時的にのみこれらを使用してください。
解決策(Webサイトを管理しない場合)
あなたが通常のユーザーであり、ウェブサイトにアクセスしたり管理したりしていない場合は、XSS AuditorなしでChromeを起動してみてください。 Google Chromeのショートカットを作成し、条件で起動するために必要なフラグを追加します。
- デスクトップ上の任意の場所を右クリックして、[ 新規]> [ショートカット ]を選択します。
- コンピューターにインストールされているGoogle 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
- これで、Chromeショートカットが作成されます。 次に、Webサイトにアクセスして、エラーメッセージが解決したかどうかを確認してください。
注:この方法は、ブラウザーのXSS Auditorを無効にします。これは、セキュリティメカニズムの不可欠な部分です。 ご自身の責任で進めてください。この機能は一時的にのみ使用することをお勧めします。