Το φίλτρο Adblock Plus εκμεταλλεύεται την εκτέλεση αυθαίρετου κώδικα που έχει εντοπιστεί

Οι περισσότεροι αποκλεισμοί περιεχομένου χρησιμοποιούν και φορτώνουν λίστες φίλτρων που περιέχουν οδηγίες για την αποκλεισμό ή την αλλαγή συγκεκριμένου περιεχομένου σε ιστότοπους επισκέψεων στο πρόγραμμα περιήγησης ιστού από προεπιλογή. αυτό γίνεται για να διασφαλιστεί ότι οι προεπιλεγμένες διαμορφώσεις αποκλείουν αμέσως ένα καλό κομμάτι ανεπιθύμητου περιεχομένου.

Οι περισσότερες επεκτάσεις υποστηρίζουν προσαρμοσμένες λίστες και μεμονωμένα φίλτρα. Οι χρήστες μπορούν να φορτώσουν προσαρμοσμένες λίστες στις περισσότερες επεκτάσεις και να προσθέσουν και τα δικά τους φίλτρα στη λίστα.

Ενημέρωση : Η Eyeo GMHB ανακοίνωσε σήμερα ότι θα αφαιρέσει τη συνάρτηση $ rewrite προς τα εμπρός. Αναμείνετε σύντομα μια νέα έκδοση που θα καταργήσει εάν από την επέκταση. Τέλος

Ο ερευνητής ασφάλειας Armin Sebastian ανακάλυψε ότι εκμεταλλεύτηκε σε ορισμένα adblockers όπως το Adblock Plus που θα μπορούσαν να χρησιμοποιηθούν για την εκτέλεση κακόβουλου κώδικα σε ιστότοπους που επισκέφτηκαν στο πρόγραμμα περιήγησης.

Το exploit χρησιμοποιεί μια επιλογή φίλτρου που ονομάζεται $ rewrite που υποστηρίζει το Adblock Plus για την εισαγωγή αυθαίρετου κώδικα σε ιστοσελίδες. Το φίλτρο επανεγγραφής $ χρησιμοποιείται για την αντικατάσταση κώδικα σε ιστότοπους με την επανεγγραφή του. Η επιλογή φίλτρου περιορίζει τη λειτουργία. έχει σχεδιαστεί για να φορτώνει περιεχόμενο μόνο από την πηγή πρώτου μέρους και όχι από τρίτους ιστότοπους ή διακομιστές και δεν επιτρέπονται ορισμένα αιτήματα, π.χ. σενάριο ή αντικείμενο.

Ο Sebastian ανακάλυψε ένα θέμα ευπάθειας στο $ rewrite ότι οι εισβολείς μπορεί να εκμεταλλευτούν για να φορτώσουν περιεχόμενο από απομακρυσμένες τοποθεσίες. Οι προϋποθέσεις που πρέπει να πληρούνται είναι:

  1. Μια συμβολοσειρά JavaScript πρέπει να φορτωθεί χρησιμοποιώντας το XMLHttpRequest ή Fetch και ο κώδικας επιστροφής πρέπει να εκτελεστεί.
  2. Οι προελεύσεις δεν μπορούν να περιοριστούν στη σελίδα, π.χ. με τη χρήση οδηγιών πολιτικής ασφάλειας περιεχομένου και η τελική διεύθυνση URL αιτήματος δεν μπορεί να επικυρωθεί πριν από την εκτέλεση.
  3. Η προέλευση του κώδικα πρέπει να έχει ανοικτή ανακατεύθυνση από την πλευρά του διακομιστή ή να φιλοξενεί αυθαίρετο περιεχόμενο χρήστη.

Οι ιδιότητες που ταιριάζουν και στις τρεις απαιτήσεις περιλαμβάνουν μεταξύ άλλων τους Χάρτες Google, το Gmail ή τις εικόνες Google. Μια απόδειξη της έννοιας δημοσιεύτηκε στον ιστότοπο του συντάκτη και μπορείτε να το δοκιμάσετε στους Χάρτες Google για να επαληθεύσετε ότι λειτουργεί.

Δοκίμασα την εκμετάλλευση στο Chrome και τον Firefox και δεν μπόρεσα να το βάλω στη δουλειά. Ο Lawrence Abrams πάνω στο Bleeping Computer κατάφερε να το βγάλει στη δουλειά του.

Λέξεις κλεισίματος

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

Η δεύτερη επιλογή φαίνεται πιο πιθανή, ειδικά στις περιπτώσεις που οι χρήστες φορτώνουν άλλες λίστες στις επεκτάσεις. Δεν είναι η πρώτη φορά που οι λίστες χειραγωγούνται αλλά δεν συμβαίνουν πολύ συχνά.

Η προέκταση uBlock προέλευσης δεν επηρεάζεται από το ζήτημα, καθώς δεν υποστηρίζει $ rewrite.