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

Άποψη: 37886|Απάντηση: 4

[ASP.NET] mvc ajax με AntiForgeryToken για την αποτροπή επιθέσεων CSRF

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2/11/2017 10:06:29 π.μ. | | | |
Συχνά παρατηρείται ότι τα δεδομένα ανάρτησης ajax στον διακομιστή του έργου δεν επισημαίνονται με ετικέτες κατά της παραχάραξης, προκαλώντας επιθέσεις CSRF και είναι πολύ εύκολο να προσθέσετε σήματα κατά της παραχάραξης στο MVC Asp.net προσθέτοντας Html.AntiForgeryToken() στη φόρμα.
Το Html.AntiForgeryToken() δημιουργεί ένα ζεύγος κρυπτογραφημένων συμβολοσειρών που αποθηκεύονται σε cookies και είσοδο. Φέρνουμε επίσης το AntiForgeryToken στην ανάρτηση ajax
Το Html.AntiForgeryToken() στο MVC είναι ένα μέτρο για την αποτροπή επιθέσεων πλαστογράφησης αιτημάτων μεταξύ τοποθεσιών (CSRF: Cross-site request forgery), το οποίο είναι διαφορετικό από το XSS (το XSS είναι επίσης γνωστό ως CSS: Cross-Site-Script), το XSS χρησιμοποιεί γενικά αξιόπιστους χρήστες στον ιστότοπο για να εισαγάγει κακόβουλο κώδικα σεναρίου στο δίκτυο για επίθεση. Το CSRF, από την άλλη πλευρά, είναι ένας ψευδο-αξιόπιστος χρήστης που επιτίθεται σε έναν ιστότοπο.
Αρχικά, ας δούμε τον κώδικα ως εξής:

Κατά την εκτέλεση, ο κώδικας html που δημιουργείται μοιάζει με αυτό:



Ας κάνουμε κλικ στο κουμπί δοκιμής για να ζητήσουμε μια δοκιμή και να δούμε αν έχει cookies κατά της παραχάραξης, όπως φαίνεται στην παρακάτω εικόνα:



Ο κωδικός στον ελεγκτή είναι ο εξής:

Πρέπει να προσθέσουμε τη δυνατότητα ValidateAntiForgeryToken σε κάθε ελεγκτή, εάν ο χρήστης δεν φέρει το AntiForgeryToken, μπορούμε να επιστρέψουμε μια φιλική προτροπή στον χρήστη, ως εξής:







Προηγούμενος:asp.net δυνατότητα σύνδεσης mvc BindAttribute
Επόμενος:Μία από τις συγκρίσεις μεταξύ CMMI και Agile: η ουσιαστική διαφορά μεταξύ των δύο
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2/11/2017 11:05:37 π.μ. |
Για την παραπάνω μέθοδο, πρέπει να προσαρμόσετε τη δυνατότητα και δεν μπορείτε να χρησιμοποιήσετε την προεπιλεγμένη δυνατότητα ValidateAntiForgeryToken

Το προεπιλεγμένο χαρακτηριστικό είναι να πάρετε την τιμή στη φόρμα φόρμας και στη συνέχεια να την κρίνετε



Ενθυλάκωσα μια μέθοδο ανάρτησης με το jQuery με επικύρωση κατά της πλαστογραφίας και ο κώδικας είναι ο εξής:



 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2/11/2017 11:17:36 π.μ. |
IsAjaxRequest για να προσδιορίσετε εάν πρόκειται για αίτηση ajax

Ουσιαστικά, η IsAjaxRequest() καθορίζει εάν υπάρχει ένα πεδίο X-Requested-With στην κεφαλίδα και εάν είναι ένα XMLHttpRequest

Η εξέταση της τεκμηρίωσης είναι άχρηστη, εξαρτάται από τον πηγαίο κώδικα.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 20/2/2021 7:22:26 μ.μ. |
ASP.NET Επίθεση CSRF Ενθυλάκωση αιτήματος Ajax
https://www.itsvse.com/thread-8077-1-1.html
Δημοσιεύτηκε στις 9/12/2021 6:37:56 μ.μ. |
δοκιμήδοκιμήδοκιμή
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com