Correction: ERR_BLOCKED_BY_XSS_AUDITOR

Chrome est constamment en développement actif avec de nouvelles versions publiées de temps en temps pour inclure de nouvelles fonctionnalités et des améliorations de sécurité. Chrome n'est pas seulement utilisé pour la navigation; il est également utilisé pour de nombreux services Web que les développeurs utilisent.

Avec la récente version de Chrome 57, la détection de l'auditeur XSS a été considérablement améliorée. Ils avaient de nouvelles directives définies en raison desquelles les services Web ont cessé de fonctionner et ont donné le message d'erreur «ERR_BLOCKED_BY_XSS_AUDITOR ».

Ce message d'erreur est généré lorsque le contenu HTML est envoyé via la méthode POST à ​​l'intérieur de la requête. Google Chrome dispose d'une fonction de sécurité XSS qui analyse toujours le code HTML soumis via des formulaires et bloque ces demandes. De cette façon, les formulaires ne sont jamais envoyés et les exploits XSS sont évités.

Qu'est-ce qui cause le message d'erreur "ERR_BLOCKED_BY_XSS_AUDITOR" dans Chrome?

Comme mentionné précédemment, la récente version de Chrome a réorganisé l'auditeur XSS afin que les vulnérabilités XSS ne soient pas exploitées. Pour cette raison, vous pouvez recevoir le message d'erreur si vous n'avez pas mis à jour votre code source en conséquence.

La plupart du temps, il y a un faux positif lorsque le navigateur pense qu'une attaque de type «script intersite» est forcée. Ces attaques se produisent principalement lorsque le navigateur est amené à rendre du JavaScript ou du HTML qui ne fait pas partie de l'aspect d'affichage du site Web.

Solution (si vous administrez le site Web)

Si vous êtes un administrateur de site Web et que ce message d'erreur se produit lorsque vous avez une utilisation normale, vous pouvez essayer de le supprimer en ajoutant des en-têtes de page dans les en-têtes POST. Il s'agit d'un correctif temporaire jusqu'à ce que vous puissiez proposer une alternative appropriée qui gère correctement la demande XSS Auditor.

PHP

Ajoutez l'en-tête suivant dans votre fichier PHP:

en-tête ('X-XSS-Protection: 0');

ASP.NET

Ici, nous désactivons temporairement la protection XSS jusqu'à ce que vous puissiez ajouter le gestionnaire approprié dans votre code source.

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

Si vous configurez le fichier Web.Config , vous pouvez ajouter le code suivant à la place:

                                         [...]

Validation de la demande du serveur ASP.NET

Dans certains cas, le serveur rejettera la demande POST même si nous avons ajouté l'en-tête requis. Une autre solution de contournement consiste à utiliser « Request.Unvalidated » qui sera un objet créé spécifiquement pour gérer l'obtention de la demande de données «unsafe».

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

Cela ne fonctionnera probablement que pour la validation de demande ASP.NET .

Si vous utilisez des formulaires Web , vous pouvez utiliser:


  

Si vous utilisez MVC , nous pouvons utiliser « [ValidateInput (false)] » qui est un attribut sur le contrôleur. Ceci est fait pour empêcher la validation.

[ValidateInput (false)] public ActionResult Convert (requête CodeRequest) {...}

Paramètres IIS HttpRuntime

IIS Express est utilisé par Visual Studio pour les services Web et est l'une des architectures les plus utilisées à ce jour. Lorsque vous utilisez ASP.NET, IIS peut bloquer votre demande avant même qu'ASP.NET ne prenne le contrôle. Nous allons essayer de désactiver cela dans web.config et essayer de récupérer l'ancien comportement en utilisant le code suivant:


  

Si nous ne le faisons pas, IIS échouera et rejettera la demande avant même qu'elle ne soit transmise à ASP.NET.

Remarque: ces solutions de contournement sont une bonne idée si votre site Web est inaccessible et vous cause une perte. Vous devez toujours modifier votre code source afin de pouvoir gérer correctement XSS Auditor. Ne les utilisez que temporairement jusqu'à ce que vous puissiez trouver une solution appropriée.

Solution (si vous n'administrez pas le site Web)

Si vous êtes un utilisateur régulier et que vous n'avez pas accès ou administré le site Web, vous pouvez essayer de lancer Chrome sans XSS Auditor. Nous allons créer un raccourci de Google Chrome et ajouter les drapeaux nécessaires pour le lancer dans notre condition.

  1. Cliquez avec le bouton droit n'importe où sur votre bureau et sélectionnez Nouveau> Raccourci .
  2. Collez maintenant les lignes de code suivantes en fonction de la version de Google Chrome installée sur votre ordinateur.

Pour Chrome 64 bits

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

Pour Chrome 32 bits

"C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-auditor
  1. Votre raccourci Chrome va maintenant être créé. Essayez maintenant d'accéder au site Web et vérifiez si le message d'erreur est résolu.

Remarque: cette méthode désactive XSS Auditor sur votre navigateur, qui fait partie intégrante du mécanisme de sécurité. Veuillez procéder à vos propres risques et il est recommandé de n'utiliser cette fonction que temporairement.