Το Cross-Site Request Forgery (CSRF) είναι ένας από τους παλαιότερους τρόπους εκμετάλλευσης των τρωτών σημείων ενός ιστότοπου. Στοχεύει διακόπτες ιστού από διακομιστή που συνήθως απαιτούν έλεγχο ταυτότητας όπως σύνδεση Κατά τη διάρκεια μιας επίθεσης CSRF, ένας εισβολέας στοχεύει να αναγκάσει το θύμα του να υποβάλει ένα μη εξουσιοδοτημένο, κακόβουλο αίτημα ιστού για λογαριασμό του.

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

Ας δούμε τι είναι μια επίθεση CSRF και τους πιθανούς τρόπους με τους οποίους μπορείτε να αποτρέψετε τον εαυτό σας από αυτήν ως προγραμματιστής ή ως χρήστης.

Πώς σας επηρεάζουν οι επιθέσεις CSRF;

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

instagram viewer

Για παράδειγμα, η ενεργοποίηση διαδικασιών κατά του CSRF αποτρέπει κακόβουλες αλληλεπιδράσεις μεταξύ τομέων.

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

Με το χειρισμό ενός αναγνωριστικού, ο εισβολέας μπορεί επίσης να ανακατευθύνει τους επισκέπτες σε μια άλλη ιστοσελίδα ή να εκμεταλλευτεί μέθοδοι κοινωνικής μηχανικής όπως email για αποστολή συνδέσμων, ενθαρρύνοντας το θύμα να κατεβάσει κακόβουλο λογισμικό.

Τι είναι η Κοινωνική Μηχανική; Δείτε πώς μπορείτε να παραβιαστείτε

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

Μόλις το θύμα εκτελέσει τέτοιες ενέργειες, στέλνει ένα αίτημα HTTP στη σελίδα εξυπηρέτησης του χρήστη και εξουσιοδοτεί την ενέργεια αιτήματος υπέρ του εισβολέα. Αυτό μπορεί να είναι καταστροφικό για έναν ανυποψίαστο χρήστη.

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

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

Πώς οι εισβολείς εισβάλλουν στις συνεδρίες σας με CSRF: Παραδείγματα

Οι κύριοι στόχοι για επιθέσεις CSRF είναι ενέργειες ιστού που περιλαμβάνουν έλεγχο ταυτότητας χρήστη. Για να είναι επιτυχής, χρειάζεται ακούσιες ενέργειες από το θύμα.

Κατά τη διάρκεια μιας επίθεσης CSRF, οι ενέργειες GET, DELETE και PUT, καθώς και τα ευάλωτα αιτήματα POST είναι οι κύριοι στόχοι ενός εισβολέα.

Ας δούμε την έννοια αυτών των όρων:

  • ΠΑΙΡΝΩ: Ένα αίτημα για τη συλλογή ενός αποτελέσματος από τη βάση δεδομένων. για παράδειγμα, την αναζήτηση Google.
  • ΘΕΣΗ: Συνήθως για την υποβολή αιτημάτων μέσω διαδικτυακών εντύπων. Ένα αίτημα POST είναι συνηθισμένο κατά την εγγραφή ή τη σύνδεση ενός χρήστη, αλλιώς γνωστό ως έλεγχο ταυτότητας.
  • ΔΙΑΓΡΑΦΩ: Για να αφαιρέσετε έναν πόρο από τη βάση δεδομένων. Αυτό το κάνετε κάθε φορά που διαγράφετε τον λογαριασμό σας από μια συγκεκριμένη υπηρεσία ιστού.
  • ΒΑΖΩ: Ένα αίτημα PUT τροποποιεί ή ενημερώνει έναν υπάρχοντα πόρο. Ένα παράδειγμα είναι αλλάζοντας το όνομά σας στο Facebook.

Στην πράξη, οι εισβολείς χρησιμοποιούν πειρατεία συνεδρίας για να δημιουργήσουν αντίγραφα ασφαλείας μιας επίθεσης CSRF. Όταν χρησιμοποιεί αυτόν τον συνδυασμό, ο εισβολέας μπορεί να χρησιμοποιήσει ένα πειρατείο για να αλλάξει τη διεύθυνση IP του θύματος.

Στη συνέχεια, η αλλαγή στη διεύθυνση IP καταγράφει το θύμα σε έναν νέο ιστότοπο όπου ο εισβολέας έχει εισαγάγει έναν παραπλανητικό σύνδεσμο που υποβάλλει μια αναπαραγόμενη φόρμα ή ένα τροποποιημένο αίτημα διακομιστή που δημιούργησε μέσω του CSRF.

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

Παράδειγμα GET Request CSRF Attack

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

https://websiteurl/pay? ποσό = 10 $ & εταιρεία = [λογαριασμός εταιρείας ABC]

Ένας εισβολέας μπορεί να κλέψει τη συναλλαγή σας εύκολα αλλάζοντας τις παραμέτρους του αιτήματος GET. Για να γίνει αυτό, το μόνο που χρειάζεται να κάνουν είναι να ανταλλάξουν το όνομά σας για το δικό τους και, χειρότερα, να αλλάξετε το ποσό που σκοπεύετε να πληρώσετε. Στη συνέχεια, τροποποιούν το αρχικό ερώτημα σε κάτι τέτοιο:

https://websiteurl/pay? ποσό = 20000 $ & εταιρεία = [λογαριασμός εισβολέα]

Μόλις κάνετε κλικ σε έναν σύνδεσμο σε αυτό το τροποποιημένο αίτημα GET, καταλήγετε να κάνετε μια ακούσια μεταφορά στον λογαριασμό του εισβολέα.

Η συναλλαγή μέσω αιτημάτων GET είναι κακή πρακτική και καθιστά τις δραστηριότητες ευάλωτες σε επιθέσεις.

Παράδειγμα επίθεσης CSRF POST Request

Ωστόσο, πολλοί προγραμματιστές πιστεύουν ότι η χρήση του αιτήματος POST είναι πιο ασφαλής για την πραγματοποίηση συναλλαγών στο διαδίκτυο. Αν και αυτό ισχύει, δυστυχώς, ένα αίτημα POST είναι επίσης ευαίσθητο σε επιθέσεις CSRF.

Για να πετύχετε με επιτυχία ένα αίτημα POST, όλες οι ανάγκες ενός εισβολέα είναι το τρέχον αναγνωριστικό περιόδου σύνδεσης, μερικές αναπαραγόμενες αόρατες φόρμες και μερικές φορές λίγο κοινωνικός μηχανικός.

Για παράδειγμα, μια φόρμα αιτήματος POST μπορεί να έχει την εξής μορφή:







Ωστόσο, ένας εισβολέας μπορεί να αλλάξει τα διαπιστευτήριά σας κάνοντας μια νέα σελίδα και τροποποιώντας την παραπάνω φόρμα σε αυτό:









Στη χειρισμένη φόρμα, ο εισβολέας ορίζει την τιμή του πεδίου ποσού σε "30000", αλλάζει το ο αριθμός λογαριασμού του παραλήπτη στον δικό του, υποβάλλει τη φόρμα κατά τη φόρτωση της σελίδας και αποκρύπτει επίσης τα πεδία φόρμας από ο χρήστης.

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

Κάνοντας κλικ σε αυτό φορτώνεται η υποβολή της επαναλαμβανόμενης φόρμας, η οποία μεταφέρει τα χρήματά σας στον λογαριασμό του εισβολέα. Αυτό σημαίνει ότι δεν χρειάζεται να κάνετε κλικ σε κουμπιά όπως "αποστολή" για να πραγματοποιηθεί η συναλλαγή, καθώς το JavaScript το κάνει αυτόματα κατά τη φόρτωση της επόμενης ιστοσελίδας.

Εναλλακτικά, ένας εισβολέας μπορεί επίσης να συντάξει ένα ενσωματωμένο email HTML που σας ζητά να κάνετε κλικ σε έναν σύνδεσμο για να πραγματοποιήσετε την ίδια υποβολή φόρμας φόρτωσης σελίδας.

Μια άλλη ενέργεια που είναι ευάλωτη σε μια επίθεση CSRF είναι ένα όνομα χρήστη ή μια αλλαγή κωδικού πρόσβασης, ένα παράδειγμα ενός αιτήματος PUT. Ένας εισβολέας επαναλαμβάνει τη φόρμα αιτήματός σας και αντικαθιστά τη διεύθυνση email σας με τη δική τους.

Στη συνέχεια, κλέβουν τη συνεδρία σας και είτε σας ανακατευθύνουν σε μια σελίδα είτε σας στέλνουν ένα email που σας ζητά να κάνετε κλικ σε έναν ελκυστικό σύνδεσμο.

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

Πώς να αποτρέψετε τις επιθέσεις CSRF ως προγραμματιστής

Μία από τις καλύτερες μεθόδους για την αποτροπή ενός CSRF είναι να χρησιμοποιείτε συχνά μεταβαλλόμενα διακριτικά αντί να εξαρτάται από τα cookie περιόδου λειτουργίας για την εκτέλεση αλλαγής κατάστασης στο διακομιστή.

Σχετιζομαι με: Δωρεάν οδηγοί για την κατανόηση της ψηφιακής ασφάλειας και την προστασία του απορρήτου σας

Πολλά σύγχρονα πλαίσια υποστήριξης προσφέρουν ασφάλεια έναντι του CSRF. Επομένως, εάν θέλετε να αποφύγετε τις τεχνικές δυνατότητες ενίσχυσης του CSRF, μπορείτε να το αντιμετωπίσετε εύκολα χρησιμοποιώντας πλαίσια από διακομιστή που συνοδεύονται από ενσωματωμένα token anti-CSRF.

Όταν χρησιμοποιείτε ένα διακριτικό κατά του CSRF, τα αιτήματα που βασίζονται σε διακομιστή δημιουργούν τυχαίες συμβολοσειρές αντί για τα πιο στατικά ευάλωτα cookie περιόδου σύνδεσης. Με αυτόν τον τρόπο, μπορείτε να προστατέψετε τη συνεδρία σας από το να μαντέψετε από τον αεροπειρατή.

Η εφαρμογή ενός συστήματος ελέγχου ταυτότητας δύο παραγόντων (2FA) για την εκτέλεση συναλλαγών στην εφαρμογή ιστού μειώνει επίσης τις πιθανότητες ενός CSRF.

Είναι δυνατό να ξεκινήσετε ένα CSRF μέσω δέσμης ενεργειών μεταξύ ιστότοπων (XSS), το οποίο περιλαμβάνει ένεση σεναρίου σε πεδία χρήστη, όπως φόρμες σχολίων. Για να αποφευχθεί αυτό, είναι καλή πρακτική να ενεργοποιήσετε την αυτόματη διαφυγή HTML σε όλα τα πεδία φόρμας χρήστη στον ιστότοπό σας. Αυτή η ενέργεια εμποδίζει τα πεδία φόρμας να ερμηνεύουν στοιχεία HTML.

Τρόπος αποτροπής επιθέσεων CSRF ως χρήστη

Ως χρήστης μιας υπηρεσίας ιστού που περιλαμβάνει έλεγχο ταυτότητας, έχετε να παίξετε ρόλο στην αποτροπή των εισβολέων να κλέψουν τα διαπιστευτήριά σας και τις περιόδους σύνδεσης μέσω CSRF.

Βεβαιωθείτε ότι χρησιμοποιείτε αξιόπιστες υπηρεσίες ιστού κατά τη διάρκεια δραστηριοτήτων που περιλαμβάνουν μεταφορά χρημάτων.

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

Σχετιζομαι με: Οι καλύτερες μηχανές ιδιωτικής αναζήτησης που σέβονται τα δεδομένα σας

Ως χρήστης, μπορείτε επίσης να βασιστείτε σε τρίτους ως επαληθευτές Επαληθευτής Google ή οι εναλλακτικές λύσεις του για επαλήθευση της ταυτότητάς σας μέσω του διαδικτύου.

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

Βελτιώστε την Ασφάλεια Ιστού σας

Οι προγραμματιστές πρέπει να δοκιμάζουν τακτικά εφαρμογές ιστού για παραβιάσεις ασφάλειας κατά την ανάπτυξη και την ανάπτυξη.

Ωστόσο, είναι σύνηθες να εισάγετε άλλες ευπάθειες ενώ προσπαθείτε να αποτρέψετε άλλους. Προσέξτε λοιπόν να βεβαιωθείτε ότι δεν έχετε παραβιάσει άλλες παραμέτρους ασφαλείας ενώ προσπαθείτε να αποκλείσετε ένα CSRF.

ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
5 Εργαλεία κωδικού πρόσβασης για να δημιουργήσετε ισχυρές φράσεις πρόσβασης και να ενημερώσετε την ασφάλειά σας

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

Σχετικά θέματα
  • Ασφάλεια
  • Διαδικτυακή ασφάλεια
Σχετικά με τον Συγγραφέα
Idowu Omisola (Δημοσιεύθηκαν 46 άρθρα)

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

Περισσότερα από το Idowu Omisola

Εγγραφείτε στο Newsletter μας

Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Ένα ακόμη βήμα…!

Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.

.