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

Άποψη: 7822|Απάντηση: 1

Αποτρέψτε τις επιθέσεις CSRF στην ιδιοκτησία SameSite του cookie

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-4-17 20:24:47 | | | |
Ιδιότητα SameSite

Ξεκινώντας με το Chrome 51, ένα νέο χαρακτηριστικό SameSite προστέθηκε στα cookies του προγράμματος περιήγησης για την αποτροπή επιθέσεων CSRF και παρακολούθησης χρηστών (κακόβουλη απόκτηση cookies από τρίτους) και για τον περιορισμό των cookie τρίτων, μειώνοντας έτσι τους κινδύνους ασφαλείας.

SameSite που ορίζεται στο RFC6265bis:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Σχετικά με την ανακεφαλαίωση επίθεσης CSRF:

ASP.NET Επίθεση CSRF Ενθυλάκωση αιτήματος Ajax
https://www.itsvse.com/thread-8077-1-1.html

mvc ajax με AntiForgeryToken για την αποτροπή επιθέσεων CSRF
https://www.itsvse.com/thread-4207-1-1.html

Αναλύστε το πρωτόκολλο γρήγορης σύνδεσης QQ και εφαρμόστε το "CSRF"
https://www.itsvse.com/thread-3571-1-1.html
Η ιδιότητα SameSite μπορεί να οριστεί σε τρεις τιμές:Αυστηρό, Χαλαρό, Κανένα

Αυστηρός: Απαγορεύστε αυστηρά σε τρίτους να λαμβάνουν cookies και μην στέλνετε cookies σε καμία περίπτωση όταν διασχίζετε ιστότοπους. Τα cookies θα συμπεριληφθούν μόνο εάν η διεύθυνση URL της τρέχουσας σελίδας ταιριάζει με τον στόχο αιτήματος. Αυτός ο κανόνας είναι πολύ αυστηρός και μπορεί να προκαλέσει πολύ κακή εμπειρία χρήστη. Για παράδειγμα, εάν υπάρχει ένας σύνδεσμος GitHub στην τρέχουσα ιστοσελίδα, οι χρήστες δεν θα έχουν cookie GitHub όταν κάνουν κλικ στο άλμα και το άλμα ήταν πάντα αποσυνδεδεμένο.

Αμελής: Αποτρέψτε τη διασύνδεση, στις περισσότερες περιπτώσεις απαγορεύεται η λήψη cookies, εκτός από αιτήματα GET (σύνδεσμοι, προφορτώσεις, φόρμες GET) που πλοηγούνται στη διεύθυνση URL προορισμού. Μόλις οριστεί το Strict ή το Lax, οι επιθέσεις CSRF ουσιαστικά εξαλείφονται. Φυσικά, αυτό υπό την προϋπόθεση ότι το πρόγραμμα περιήγησης χρήστη υποστηρίζει την ιδιότητα SameSite.

SameSite χαρακτηριστικόΠροεπιλογή SameSite=Lax[Αυτή η λειτουργία ισχύει για εκδόσεις μετά την κυκλοφορία της σταθερής έκδοσης του Chrome 80 από την Google στις 4 Φεβρουαρίου 2019]



Κανένας: Δεν υπάρχει όριο.

Πρέπει επίσης να οριστεί το χαρακτηριστικό Secure (τα cookies μπορούν να σταλούν μόνο μέσω του πρωτοκόλλου HTTPS), διαφορετικά δεν θα είναι έγκυρο. [Αυτή η λειτουργία ισχύει για εκδόσεις μετά την κυκλοφορία της σταθερής έκδοσης του Chrome 80 από την Google στις 4 Φεβρουαρίου 2019]


Δοκιμή της ιδιότητας SameSite

Φορτώνουμε δυναμικά μια εικόνα της τοποθεσίας Α μέσω της κονσόλας F12 στη θέση Α, ο κώδικας έχει ως εξής:

Μπορούμε να δούμε από το αίτημα δικτύου ότι όταν ο ιστότοπος Α ζητά μια εικόνα του ονόματος τομέα του ιστότοπου Α, θαΜεταφέρετε μπισκότα(Το SameSite δεν έχει ρυθμίσεις, π.χ. Lax), όπως φαίνεται στην παρακάτω εικόνα:



Βρίσκουμε τυχαία έναν ιστότοπο Β και, στη συνέχεια, φορτώνουμε δυναμικά την εικόνα του ιστότοπου Α και τον βρίσκουμεΔεν μεταφέρειΟποιοδήποτε cookie, όπως φαίνεται παρακάτω:



(Τέλος)





Προηγούμενος:Το jQuery hide δεν λειτουργεί δύο λύσεις
Επόμενος:Γωνιακό στοιχείο ngif εμφανίζεται και αποκρύπτεται η κρυφή ορατότητα
Δημοσιεύτηκε στις 2022-4-17 21:20:07 |
Μάθε να μαθαίνεις...
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com