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

Άποψη: 3317|Απάντηση: 2

[Πηγή] ASP.NET MVC ζητά επικύρωση επικίνδυνου περιεχομένου XSS (ValidateInput)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 8/7/2023 10:05:07 μ.μ. | | | |
απαιτήσεις: Εξαγάγετε τον πηγαίο κώδικα στο MVC ASP.NET για να επικυρώσετε δυνητικά επικίνδυνα δεδομένα στη φόρμα αιτήματος. Με απλά λόγια, επαληθεύει ότι τα ζητούμενα δεδομένα έχουν περιεχόμενο cross-site scripting (XSS),Το XSS είναι αποκλεισμένο από προεπιλογή στο MVC

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

ValidateInput: Πραγματοποιεί επικύρωση συλλογών στις οποίες έχετε πρόσβαση μέσω των ιδιοτήτων Cookies, Form και QueryString. πρέπειΑίτημα HttpΗ κλάση χρησιμοποιεί τη σημαία επικύρωσης εισόδου για να παρακολουθεί εάν η επικύρωση εκτελείται σε μια συλλογή αιτήσεων που έχουν πρόσβαση στο QueryString μέσω της φόρμας ιδιοτήτων Cookies.

δημόσιο κενό ValidateInput() {
            Δεν έχει νόημα να το καλέσετε πολλές φορές ανά αίτημα.
            Επιπλέον, εάν η επικύρωση καταστέλλεται, δεν υπάρχει λειτουργία τώρα.
            αν (ValidateInputWasCalled || RequestValidationSuppressed) {
                επιστροφή;
            }

            _Σημαίες. Set(hasValidateInputBeenCalled);

            Αυτό γίνεται για να αποτραπούν ορισμένες επιθέσεις XSS (cross site scripting) (ASURT 122278)
            _Σημαίες. Set(needToValidateQueryString);
            _Σημαίες. Set(needToValidateForm);
            _Σημαίες. Set(needToValidateCookies);
            _Σημαίες. Set(needToValidatePostedFiles);
            _Σημαίες. Set(needToValidateRawUrl);
            _Σημαίες. Set(needToValidatePath);
            _Σημαίες. Set(needToValidatePathInfo);
            _Σημαίες. Set(needToValidateHeaders);
        }

Τεκμηρίωση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Επικύρωση δυνητικά επικίνδυνων δεδομένων:HttpRequest -> ValidateString -> CrossSiteScriptingValidation.IsDangerousString, όπως φαίνεται στο παρακάτω σχήμα:



Διεύθυνση πηγαίου κώδικα:

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

Αντιγράψτε τον πηγαίο κώδικα στο έργο σας και δοκιμάστε τον ως εξής:



Πηγή:


Εάν θέλετε πραγματικά να λαμβάνετε επικίνδυνο περιεχόμενο, μπορείτε να χρησιμοποιήσετε το Request.Unvalidated.Form

(Τέλος)




Προηγούμενος:ASP.NET MVC λαμβάνει όλες τις διευθύνσεις διεπαφής μέσω αντανάκλασης
Επόμενος:Το .NET/C# χρησιμοποιεί το SqlConnectionStringBuilder για να συγκρίνει συνδέσεις βάσεων δεδομένων
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 8/7/2023 10:06:32 μ.μ. |
Κλάση AllowHtmlAttribute: Επιτρέπει στις αιτήσεις να περιλαμβάνουν σήμανση HTML κατά τη σύνδεση μοντέλου, παρακάμπτοντας την επικύρωση αίτησης για χαρακτηριστικά. (Συνιστάται ανεπιφύλακτα οι εφαρμογές να ελέγχουν ρητά όλα τα μοντέλα που απενεργοποιούν την επικύρωση αιτημάτων για την αποτροπή επιθέσεων δέσμης ενεργειών.) )

https://learn.microsoft.com/zh-c ... .allowhtmlattribute
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 8/7/2023 10:06:49 μ.μ. |
Οι ετικέτες κατά της παραχάραξης ValidateAntiForgeryToken και AutoValidateAntiforgeryToken εξηγούνται λεπτομερώς
https://www.itsvse.com/thread-9568-1-1.html
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com