Επιδιόρθωση: ERR_BLOCKED_BY_XSS_AUDITOR

Το Chrome βρίσκεται σε συνεχή ανάπτυξη, με νέες εκδόσεις που κυκλοφορούν κάθε μέρα για να συμπεριλάβουν νέες δυνατότητες και βελτιώσεις ασφάλειας. Το Chrome δεν χρησιμοποιείται μόνο για περιήγηση. χρησιμοποιείται επίσης για πολλές υπηρεσίες ιστού που χρησιμοποιούν οι προγραμματιστές.

ERR_BLOCKED_BY_XSS_AUDITOR στο Chrome

Με την πρόσφατη δημιουργία του Chrome 57, η ανίχνευση του ελεγκτή XSS βελτιώθηκε σημαντικά. Έχουν καθοριστεί νέες οδηγίες, λόγω των οποίων οι υπηρεσίες web σταμάτησαν να εργάζονται και έδωσαν το μήνυμα σφάλματος 'ERR_BLOCKED_BY_XSS_AUDITOR '.

Αυτό το μήνυμα λάθους προκαλείται όταν το περιεχόμενο HTML αποστέλλεται μέσω της μεθόδου POST μέσα στο αίτημα. Το Google Chrome διαθέτει μια λειτουργία ασφάλειας XSS, η οποία αναλύει πάντοτε την HTML που υποβάλλεται μέσω εντύπων και αποκλείει τα αιτήματα αυτά. Με αυτόν τον τρόπο, οι φόρμες δεν αποστέλλονται ποτέ και αποφεύγονται τα εκμεταλλεύματα XSS.

Τι προκαλεί το μήνυμα σφάλματος 'ERR_BLOCKED_BY_XSS_AUDITOR' στο Chrome;

Όπως προαναφέρθηκε, η πρόσφατη έκδοση του Chrome ανανέωσε τον Έλεγχο XSS, ώστε να μην εκμεταλλευτούν τα ευπάθειες XSS. Εξαιτίας αυτού, ενδέχεται να λάβετε το μήνυμα σφάλματος αν δεν έχετε αναβαθμίσει τον πηγαίο σας κώδικα ανάλογα.

Τις περισσότερες φορές, υπάρχει ένα ψεύτικο θετικό, όταν ο browser πιστεύει ότι μια επίθεση "cross-site scripting" αναγκάζεται. Αυτές οι επιθέσεις κατά κύριο λόγο συμβαίνουν όταν το πρόγραμμα περιήγησης εξαπατηθεί σε απόδοση JavaScript ή HTML που δεν αποτελεί μέρος της εμφάνισης πτυχή του δικτυακού τόπου.

Λύση (Εάν διαχειρίζεστε τον ιστότοπο)

Εάν είστε διαχειριστής ιστότοπου και αυτό το μήνυμα λάθους εμφανίζεται όταν έχετε κανονική χρήση, μπορείτε να προσπαθήσετε να το καταργήσετε προσθέτοντας κάποιες κεφαλίδες σελίδων στις κεφαλίδες POST. Πρόκειται για μια προσωρινή λύση μέχρι να μπορέσετε να έρθετε με μια κατάλληλη εναλλακτική λύση, η οποία να χειρίζεται σωστά το αίτημα του Ελεγκτή XSS.

PHP

Προσθέστε την ακόλουθη κεφαλίδα στο αρχείο PHP:

 επικεφαλίδα ('X-XSS-Προστασία: 0'); 

ASP.NET

Εδώ απενεργοποιούμε προσωρινά την προστασία XSS μέχρι να προσθέσετε τον κατάλληλο χειριστή στον πηγαίο κώδικα.

 HttpContext.Response.AddHeader ("X-XSS-Προστασία", "0"); 

Εάν ρυθμίζετε το αρχείο Web.Config, μπορείτε να προσθέσετε τον ακόλουθο κώδικα:

 [...] 

Επικύρωση αιτήματος διακομιστή ASP.NET

Σε ορισμένες περιπτώσεις, ο διακομιστής θα απορρίψει το αίτημα POST ακόμα κι αν έχουμε προσθέσει την απαιτούμενη κεφαλίδα. Μια άλλη λύση είναι να χρησιμοποιήσετε το " Request.Unvalidated " το οποίο θα είναι ένα αντικείμενο που δημιουργήθηκε ειδικά για να χειριστεί την απόκτηση του "ανασφαλούς" αίτησης δεδομένων.

 var code = Request.Unvalidated.Form ["κώδικας"]; 

Αυτό πιθανότατα θα λειτουργήσει μόνο για επικύρωση αίτησης ASP.NET .

Αν χρησιμοποιείτε φόρμες ιστού, μπορείτε να χρησιμοποιήσετε:

Αν χρησιμοποιείτε MVC, μπορούμε να χρησιμοποιήσουμε το ' [ValidateInput (false)] ' που είναι ένα χαρακτηριστικό στον ελεγκτή. Αυτό γίνεται για να αποφευχθεί η επικύρωση.

 [ValidateInput (false)] Δημόσια ActionResult Μετατροπή (αίτημα CodeRequest) {...} 

IIS Ρυθμίσεις HttpRuntime

Το IIS Express χρησιμοποιείται από το Visual studio για υπηρεσίες web και είναι μία από τις πιο χρησιμοποιούμενες αρχιτεκτονικές μέχρι σήμερα. Όταν χρησιμοποιείτε το ASP.NET, το IIS ενδέχεται να αποκλείσει το αίτημά σας ακόμη και πριν αποκτήσει τον έλεγχο ASP.NET. Θα προσπαθήσουμε να το απενεργοποιήσουμε στο web.config και να προσπαθήσουμε να κερδίσουμε την παλιά συμπεριφορά χρησιμοποιώντας τον ακόλουθο κώδικα:

Αν δεν το κάνουμε αυτό, το IIS θα αποτύχει και θα απορρίψει το αίτημα, ακόμη και πριν μεταφερθεί στο ASP.NET.

Σημείωση: Αυτές οι λύσεις είναι καλή ιδέα αν ο ιστότοπός σας είναι απρόσιτος και σας προκαλεί απώλεια. Θα πρέπει πάντα να τροποποιείτε τον πηγαίο κώδικα σας ώστε να μπορείτε να χειρίζεστε σωστά τον Έλεγχο XSS. Χρησιμοποιείτε αυτές μόνο προσωρινά μέχρι να μπορέσετε να επεξεργαστείτε μια σωστή λύση.

Λύση (Εάν δεν διαχειρίζεστε τον ιστότοπο)

Αν είστε κανονικός χρήστης και δεν έχετε πρόσβαση ή διαχειριστείτε τον ιστότοπο, μπορείτε να δοκιμάσετε να ξεκινήσετε το Chrome χωρίς τον ελεγκτή XSS. Θα δημιουργήσουμε μια συντόμευση του Google Chrome και θα προσθέσουμε τις απαραίτητες σημαίες για να το ξεκινήσουμε στην κατάσταση μας.

  1. Κάντε δεξί κλικ οπουδήποτε στην επιφάνεια εργασίας σας και επιλέξτε Νέα> Συντόμευση .
  2. Τώρα επικολλήστε τις ακόλουθες γραμμές κώδικα σύμφωνα με την έκδοση του Google Chrome που είναι εγκατεστημένη στον υπολογιστή σας.

Για το Chrome 64-bit

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

Για το Chrome 32-bit

 "C: \ Αρχεία προγράμματος (x86) \ Google \ Chrome \ Application \ chrome.exe" -disable-xss-auditor 

Άνοιγμα του Chrome με Απενεργοποιημένο ελεγκτή XSS
  1. Η σύντομη συντόμευση του Chrome θα δημιουργηθεί τώρα. Τώρα δοκιμάστε να έχετε πρόσβαση στον ιστότοπο και να ελέγξετε αν έχει επιλυθεί το μήνυμα σφάλματος.

Σημείωση: Αυτή η μέθοδος απενεργοποιεί τον Έλεγχο XSS στο πρόγραμμα περιήγησης που αποτελεί αναπόσπαστο μέρος του μηχανισμού ασφαλείας. Προχωρήστε με δική σας ευθύνη και συνιστάται να χρησιμοποιείτε προσωρινά αυτήν τη λειτουργία.

Ενδιαφέροντα Άρθρα