Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3928|Antwort: 3

[Quelle] EF 6 führt native SQL-Anweisungen aus, Parameterinjektionsprobleme

[Link kopieren]
Veröffentlicht am 14.06.2023 21:14:48 | | | |
Anforderungen: Das Projekt verwendet das EF ORM-Framework, um die Datenbank hinzuzufügen, zu löschen, zu verändern und zu überprüfen, aber angesichts komplexer Abfragen ist es möglicherweise nicht möglich, Linq und Lambda für bessere Abfragen zu verwenden, daher müssen wir EF 6 verwenden, um native SQL-Anweisungen für Abfragen auszuführen.

Rohe SQL-Abfrage (EF6):Der Hyperlink-Login ist sichtbar.

Da SQL-Anweisungen die where-Bedingung tragen müssen, wird der Parameterwert über den URL-Parameter weitergegeben.


Zuerst verwendet unsere SQL-Anweisung eine String-Konkatenation zur Abfrage, wie folgt:



Der Code lautet wie folgt:

Die von der Datenbank ausgeführten SQL-Anweisungen können Sie wie folgt sehen:

NAME AUSWÄHLEN AUS [Klassifikation] WO Name = 'Mobile Development'; wählen Sie 1; --'

BestehenDie Art und Weise, wie SQL-Anweisungen zusammengeschnitten werden, besteht vom Injektionsrisiko bedroht

Wir haben den Code modifiziert, um SQL-Injection-Angriffe durch Parametrisierung von Abfragen zu verhindern, und der Code lautet wie folgt:



exec sp_executesql N'NAME SELECT FROM [Klassifikation] WO Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; wählen Sie 1; --'




Anstatt direkt Splicing zu verwenden, wandelt EF Core sie in parametrisierte SQL-Anweisungen um. Die Quellen sind wie folgt:

EF Core Series (5) führt SQL-Anweisungen oder -views sowie gespeicherte Prozeduren aus
https://www.itsvse.com/thread-9565-1-1.html

(Ende)





Vorhergehend:Einblick: Ich habe die Unterschrift eines Bloggers aus dem Bloggarten gesehen
Nächster:Verwenden Sie das SQLMAP-Infiltrationstool SQL-Injektionstests
 Vermieter| Veröffentlicht am 17.06.2023 11:11:50 |
Testen Sie SQL-Injektionstests mit dem SQLMAP-Infiltrationstool
https://www.itsvse.com/thread-10611-1-1.html
 Vermieter| Veröffentlicht am 30.06.2023 20:47:17 |
 Vermieter| Veröffentlicht am 02.01.2025 12:10:38 |
[Tatsächlicher Kampf]. NET/C# SQL-Abfragegenerator basierend auf sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com