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

Άποψη: 3928|Απάντηση: 3

[Πηγή] Ο EF 6 εκτελεί εγγενείς προτάσεις SQL, προβλήματα έγχυσης παραμέτρων

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 14/6/2023 9:14:48 μ.μ. | | | |
απαιτήσεις: Το έργο χρησιμοποιεί το πλαίσιο EF ORM για να προσθέσει, να διαγράψει, να τροποποιήσει και να ελέγξει τη βάση δεδομένων, αλλά ενόψει πολύπλοκων ερωτημάτων, ενδέχεται να μην είναι δυνατή η χρήση Linq και Lambda για καλύτερα ερωτήματα, επομένως πρέπει να χρησιμοποιήσουμε το EF 6 για να εκτελέσουμε εγγενείς δηλώσεις SQL για ερωτήματα.

Ακατέργαστο ερώτημα SQL (EF6):Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Δεδομένου ότι οι δηλώσεις SQL πρέπει να φέρουν τη συνθήκη where, η τιμή της παραμέτρου μεταβιβάζεται μέσω της παραμέτρου URL.


Πρώτον, η δήλωση SQL χρησιμοποιεί συνένωση συμβολοσειρών για την υποβολή ερωτημάτων, ως εξής:



Ο κωδικός έχει ως εξής:

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

ΕΠΙΛΟΓΗ Όνομα ΑΠΟ [Ταξινόμηση] WHERE Name = 'Ανάπτυξη κινητής τηλεφωνίας'; επιλέξτε 1; --'

ΔιαβαίνωΟ τρόπος με τον οποίο συνδέονται οι δηλώσεις SQL κινδυνεύει να εισαχθεί

Τροποποιήσαμε τον κώδικα για να αποτρέψουμε επιθέσεις SQL injection παραμετροποιώντας ερωτήματα και ο κώδικας έχει ως εξής:



exec sp_executesql N'SELECT Όνομα ΑΠΟ [Ταξινόμηση] WHERE Όνομα = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; επιλέξτε 1; --'




Αντί να χρησιμοποιεί απευθείας μάτισμα, το EF Core το μετατρέπει σε παραμετροποιημένες δηλώσεις SQL. Οι παραπομπές είναι οι εξής:

Το EF Core Series (5) εκτελεί προτάσεις ή προβολές SQL, αποθηκευμένες διαδικασίες
https://www.itsvse.com/thread-9565-1-1.html

(Τέλος)





Προηγούμενος:Διορατικότητα: Είδα την υπογραφή ενός blogger από τον κήπο του ιστολογίου
Επόμενος:Χρησιμοποιήστε το εργαλείο διείσδυσης SQLMAP Δοκιμή έγχυσης SQL
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 17/6/2023 11:11:50 π.μ. |
Δοκιμάστε τη δοκιμή έγχυσης SQL με το εργαλείο διείσδυσης SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 30/6/2023 8:47:17 μ.μ. |
Συντομογραφία

 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2/1/2025 12:10:38 μ.μ. |
[Πραγματική μάχη]. Γεννήτρια ερωτημάτων NET/C# SQL βασισμένη σε sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com