Πώς λειτουργεί ένας έλεγχος του formexposed: παθητικός, διαφανής, με σεβασμό
Τι συμβαίνει από την εισαγωγή ενός τομέα μέχρι την ανάγνωση της αναφοράς – τι φορτώνει ο σαρωτής, τι ελέγχει, τι δεν κάνει ποτέ και τι αλλάζει μόλις ένας τομέας επαληθευτεί.
Όταν εισάγετε έναν τομέα στον δωρεάν έλεγχο στο formexposed.com, ένας σαρωτής επισκέπτεται τον ιστότοπο αυτό και επιστρέφει με μια αναφορά. Το άρθρο αυτό εξηγεί τι συμβαίνει στο ενδιάμεσο: τι φορτώνει ο σαρωτής, τι εξετάζει, τι σκόπιμα δεν κάνει και γιατί ορισμένες λεπτομέρειες εμφανίζονται μόνο αφού αποδείξετε ότι ο τομέας είναι δικός σας.
Από τον τομέα στην αναφορά
Ο σαρωτής φορτώνει τις δημόσιες σελίδες του ιστότοπου όπως θα έκανε ένα πρόγραμμα περιήγησης, συμπεριλαμβανομένων των scripts που εκτελούνται σε αυτές. Αυτό έχει σημασία, επειδή πολλές φόρμες, widgets CAPTCHA, banners cookies και tags παρακολούθησης προστίθενται από JavaScript μόνο αφού φορτωθεί η σελίδα· μια ματιά μόνο στο ακατέργαστο HTML θα τα έχανε. Σε αυτές τις σελίδες ο σαρωτής αναζητά φόρμες και ταξινομεί καθεμία κατά σκοπό – φόρμα επικοινωνίας, εγγραφή σε ενημερωτικό δελτίο, σύνδεση κ.λπ. Η ταξινόμηση τοποθετεί τα ευρήματα σε πλαίσιο: ένα πλαίσιο ενημερωτικού δελτίου έχει διαφορετικές ανάγκες από μια φόρμα επικοινωνίας που παραδίδει μηνύματα απευθείας στα εισερχόμενα κάποιου.
Τι εξετάζει ο σαρωτής
- Προστασία από spam και κατάχρηση: αν υπάρχει CAPTCHA (reCAPTCHA, hCaptcha, Turnstile, Friendly Captcha, προσαρμοσμένο captcha με αριθμητική πράξη ή εικόνα, ή υπηρεσία anti-spam στον διακομιστή) και αν είναι ρυθμισμένο αποτελεσματικά – ένα δημόσιο δοκιμαστικό site key ή ένα widget χωρίς το script του δεν προστατεύει τίποτα. Επίσης πεδία honeypot, tokens CSRF και χρονικές παγίδες.
- Το περιβάλλον: γνωστοί ευάλωτοι συνδυασμοί CMS και πρόσθετων, αν η φόρμα στέλνει σε υπηρεσία τρίτου και αν μπροστά από τον ιστότοπο βρίσκεται WAF ή CDN.
- Ενδείξεις ΓΚΠΔ: σύνδεσμος προς την πολιτική απορρήτου στη φόρμα, αν η απόρριψη του banner cookies σταματά πράγματι την παρακολούθηση, pixels διαφήμισης ή παρακολούθησης που ενεργοποιούνται σε σελίδες φορμών, εργαλεία session replay που ενδέχεται να καταγράφουν όσα πληκτρολογούν οι άνθρωποι, και μια διεύθυνση e-mail παραλήπτη ορατή στον πηγαίο κώδικα της σελίδας.
- Ενδείξεις προσβασιμότητας: έλεγχοι axe-core στη φόρμα (ετικέτες, μηνύματα σφάλματος, αντίθεση και άλλα), αν το CAPTCHA είναι προσβάσιμο, honeypots που ανακοινώνονται από αναγνώστες οθόνης και πώς λειτουργεί η φόρμα σε κινητό – στόχοι αφής, επικαλύψεις που καλύπτουν το κουμπί υποβολής, οριζόντια κύλιση.
Παθητικός, διαφανής, με σεβασμό
Ο ανώνυμος έλεγχος είναι παθητικός. Ο σαρωτής διαβάζει σελίδες· δεν συμπληρώνει πεδία, δεν υποβάλλει ούτε μία φόρμα και δεν επιχειρεί να συνδεθεί πουθενά. Κανείς δεν λαμβάνει δοκιμαστικό μήνυμα, και τίποτα δεν καταλήγει στα εισερχόμενα ή στη βάση δεδομένων του ιστότοπου. Συμπεριφέρεται επίσης ως ευγενικός επισκέπτης: διαβάζει το robots.txt και το σέβεται, και αυτοπροσδιορίζεται ως FormExposedBot αντί να προσποιείται ότι είναι συνηθισμένο πρόγραμμα περιήγησης. Όποιος βρει αυτό το όνομα στα αρχεία καταγραφής του διακομιστή του μπορεί να το αναζητήσει στο formexposed.com/bot, όπου εξηγείται τι κάνει το bot.
Προστατευμένη, μερικώς προστατευμένη, εκτεθειμένη
- Προστατευμένη: οι φόρμες που βρέθηκαν έχουν προστασία που φαίνεται αποτελεσματική, χωρίς αξιοσημείωτα κενά ορατά από έξω.
- Μερικώς προστατευμένη: υπάρχει προστασία, αλλά με κενά – για παράδειγμα ένα CAPTCHA που λειτουργεί με δοκιμαστικό κλειδί ή μία φόρμα προστατευμένη και άλλη όχι.
- Εκτεθειμένη: οι φόρμες στερούνται ανιχνεύσιμης προστασίας ή παρουσιάζουν αδυναμίες που διευκολύνουν την κατάχρηση.
Το επίπεδο συνοψίζει όσα φαίνονται από έξω· δεν αποτελεί εγγύηση προς καμία κατεύθυνση. Οι αναφορές των ανώνυμων ελέγχων είναι σκόπιμα βραχύβιες και δεν ευρετηριάζονται από μηχανές αναζήτησης. Και επειδή οποιοσδήποτε μπορεί να εισαγάγει οποιονδήποτε τομέα, παραλείπουν τις λεπτομέρειες των ευπαθειών: η αναφορά δείχνει ότι κάτι χρειάζεται προσοχή, αλλά όχι το ακριβές αδύναμο σημείο που θα μπορούσε να εκμεταλλευτεί ένας επιτιθέμενος. Οι λεπτομέρειες αυτές εμφανίζονται μόνο στους επαληθευμένους ιδιοκτήτες του τομέα.
Τι αλλάζει με έναν επαληθευμένο τομέα
- Οποιοσδήποτε, για οποιονδήποτε τομέα, χωρίς λογαριασμό
- Μία φορά, όταν κάποιος τον ξεκινά
- Μόνο παθητικός – δεν υποβάλλεται τίποτα
- Χωρίς λεπτομέρειες ευπαθειών
- Η παράδοση δεν ελέγχεται
- Χωρίς ειδοποιήσεις
- Βραχύβια αναφορά, χωρίς ευρετηρίαση
- Εσείς, για τομείς που έχετε επαληθεύσει
- Επαναλαμβανόμενος: μηνιαίως, εβδομαδιαίως ή ημερησίως, ανάλογα με το πρόγραμμα
- Παθητικός, συν προαιρετικές ενεργές δοκιμαστικές υποβολές (κατόπιν ενεργοποίησης)
- Λεπτομέρειες ευπαθειών ορατές σε εσάς
- Έλεγχος παράδοσης: φτάνουν οι δοκιμαστικές υποβολές;
- Ειδοποιήσεις μόνο όταν κάτι αλλάζει
- Μηνιαίο αρχείο αποδεικτικών στοιχείων
Δύο από αυτά αξίζουν πιο προσεκτική ματιά. Οι ενεργοί έλεγχοι είναι απενεργοποιημένοι εκτός αν τους ενεργοποιήσετε, και είναι διαθέσιμοι μόνο για τομέα που έχετε επαληθεύσει. Ο σαρωτής στέλνει τότε μερικές σαφώς επισημασμένες δοκιμαστικές υποβολές, ώστε εσείς και η ομάδα σας να μπορείτε να τις αναγνωρίσετε. Μαζί με τον έλεγχο παράδοσης, αυτό απαντά σε ένα ερώτημα που καμία παθητική σάρωση δεν μπορεί να απαντήσει: φτάνει πράγματι ένα μήνυμα που στάλθηκε μέσω της φόρμας; Η παρακολούθηση, από την άλλη πλευρά, είναι σχεδιασμένη να παραμένει σιωπηλή. Λαμβάνετε ειδοποίηση – μέσω e-mail, webhook, Slack, Discord, Telegram ή Google Chat – μόνο όταν κάτι αλλάζει, για παράδειγμα όταν ένα CAPTCHA εξαφανίζεται μετά από μια ενημέρωση ή όταν εμφανίζεται ένα νέο pixel παρακολούθησης στη σελίδα επικοινωνίας.
Αν θέλετε να δείτε τι βλέπει ο σαρωτής, ξεκινήστε με τον δωρεάν έλεγχο στο formexposed.com: εισαγάγετε τον τομέα σας και διαβάστε την αναφορά. Αν ο ιστότοπος είναι δικός σας και θέλετε τις λεπτομέρειες, τακτική παρακολούθηση και τον έλεγχο παράδοσης, επαληθεύστε τον τομέα σε έναν λογαριασμό.