Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 3928|Svare: 3

[Kilde] EF 6 kjører native SQL-setninger, parameterinjeksjonsproblemer

[Kopier lenke]
Publisert på 14.06.2023 21:14:48 | | | |
Krav: Prosjektet bruker EF ORM-rammeverket for å legge til, slette, endre og sjekke databasen, men i møte med komplekse spørringer kan det hende det ikke er mulig å bruke Linq og Lambda for bedre spørringer, så vi må bruke EF 6 for å kjøre native SQL-setninger for spørringer.

Rå SQL-spørring (EF6):Innloggingen med hyperkoblingen er synlig.

Siden SQL-setninger må ha where-betingelsen, sendes parameterverdien gjennom URL-parameteren.


Først bruker vår SQL-setning streng-sammenkobling for å spørre, som følger:



Koden er som følger:

Du kan se SQL-setningene som utføres av databasen som følger:

VELG navn FRA [Klassifisering] HVOR navn = 'Mobilutvikling'; velg 1; --'

PassMåten SQL-setninger er spleiset på er utsatt for injeksjon

Vi modifiserte koden for å forhindre SQL-injeksjonsangrep ved å parameterisere spørringer, og koden er som følger:



exec sp_executesql N'VELG navn FRA [klassifisering] HVOR navn = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; velg 1; --'




I stedet for å bruke skjøting direkte, konverterer EF Core det til parameteriserte SQL-setninger. Referansene er som følger:

EF Core Series (5) utfører SQL-setninger eller visninger, lagrede prosedyrer
https://www.itsvse.com/thread-9565-1-1.html

(Slutt)





Foregående:Innsikt: Jeg så en bloggers signatur fra blogghagen
Neste:Bruk SQLMAP-infiltrasjonsverktøyet SQL-injeksjonstesting
 Vert| Publisert på 17.06.2023 11:11:50 |
Test SQL-injeksjonstesting med SQLMAP-infiltrasjonsverktøyet
https://www.itsvse.com/thread-10611-1-1.html
 Vert| Publisert på 30.06.2023 20:47:17 |
Stenografiform

 Vert| Publisert på 02.01.2025 12:10:38 |
[Faktisk kamp]. NET/C# SQL-spørringsgenerator basert på sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com