Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3928|Svar: 3

[Källa] EF 6 exekverar inbyggda SQL-satser, problem med parameterinjektion

[Kopiera länk]
Publicerad på 2023-06-14 21:14:48 | | | |
Krav: Projektet använder EF ORM-ramverket för att lägga till och ta bort, ändra och kontrollera databasen, men vid komplexa frågor kan det vara omöjligt att använda Linq och Lambda för bättre frågor, så vi behöver använda EF 6 för att köra inbyggda SQL-satser för frågor.

Rå SQL-fråga (EF6):Inloggningen med hyperlänken är synlig.

Eftersom SQL-satser måste bära where-villkoret, skickas parametervärdet via URL-parametern.


Först använder vår SQL-sats strängsammansättning för att fråga, enligt följande:



Koden är följande:

Du kan se SQL-satserna som körs av databasen på följande sätt:

VÄLJ NAMN FRÅN [Klassificering] DÄR namn = 'Mobil utveckling'; Välj 1; --'

PasseraSättet SQL-satser splicas på löper risk för injektion

Vi modifierade koden för att förhindra SQL-injektionsattacker genom att parameterisera frågor, och koden är följande:



exec sp_executesql N'VÄLJ namn FRÅN [Klassificering] DÄR namn = @n',N'@n nvarchar(17)', @n=N'Mobil Utveckling''; Välj 1; --'




Istället för att använda splicing direkt omvandlar EF Core det till parameteriserade SQL-satser. Referenser är följande:

EF Core Series (5) exekverar SQL-satser eller vyer, lagrade procedurer
https://www.itsvse.com/thread-9565-1-1.html

(Slut)





Föregående:Insikt: Jag såg en bloggares signatur från bloggträdgården
Nästa:Använd SQLMAP-infiltrationsverktyget SQL-injektionstestning
 Hyresvärd| Publicerad på 2023-06-17 11:11:50 |
Testa SQL-injektionstestning med SQLMAP-infiltrationsverktyget
https://www.itsvse.com/thread-10611-1-1.html
 Hyresvärd| Publicerad på 2023-06-30 20:47:17 |
Stenografiform

 Hyresvärd| Publicerad på 2025-01-02 12:10:38 |
[Verklig strid]. NET/C# SQL-frågegenerator baserad på sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com