Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3928|Odgovoriti: 3

[Vir] EF 6 izvaja nativne SQL stavke, probleme vbrizgavanja parametrov

[Kopiraj povezavo]
Objavljeno na 14. 06. 2023 21:14:48 | | | |
Zahteve: Projekt uporablja EF ORM okvir za dodajanje, brisanje, spreminjanje in preverjanje baze podatkov, vendar zaradi zapletenih poizvedb morda ni mogoče uporabiti Linq in Lambda za boljše poizvedbe, zato moramo uporabiti EF 6 za izvajanje nativnih SQL ukazov za poizvedbe.

Surova SQL poizvedba (EF6):Prijava do hiperpovezave je vidna.

Ker morajo SQL stavki prenašati pogoj kje, se vrednost parametra prenese skozi parameter URL.


Najprej naš SQL ukaz uporablja konkatenacijo nizov za poizvedbo, kot sledi:



Koda je naslednja:

SQL ukaze, ki jih izvaja baza podatkov, lahko vidite na naslednji način:

IZBERI ime IZ [Klasifikacija] KJER ime = 'mobilni razvoj'; Izberite 1; --'

PrelazNačin, kako se SQL stavki povezujejo, je ogrožen za vbrizgavanje

Kodo smo spremenili, da preprečimo napade z injekcijo SQL, s parametrično obdelavo poizvedb, koda pa je naslednja:



exec sp_executesql N'SELECT Name FROM [Classification] WHERE Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; Izberite 1; --'




Namesto neposredne uporabe spajanja jih EF Core pretvori v parametrizirane SQL stavke. Reference so naslednje:

EF Core Series (5) izvaja SQL stavke ali poglede, shranjene postopke
https://www.itsvse.com/thread-9565-1-1.html

(Konec)





Prejšnji:Vpogled: Videla sem podpis blogerke iz blog vrta
Naslednji:Uporabite orodje za infiltracijo SQLMAP, testiranje SQL injekcij
 Najemodajalec| Objavljeno na 17. 06. 2023 11:11:50 |
Testirajte SQL injekcijsko testiranje z orodjem za infiltracijo SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
 Najemodajalec| Objavljeno na 30. 06. 2023 20:47:17 |
Stenografska oblika

 Najemodajalec| Objavljeno na 2. 01. 2025 12:10:38 |
[Dejanski boj]. NET/C# SQL generator poizvedb na osnovi sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com