Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3928|Atbildi: 3

[Avots] EF 6 izpilda vietējos SQL paziņojumus, parametru injekcijas problēmas

[Kopēt saiti]
Publicēts 14.06.2023 21:14:48 | | | |
Prasības: Projekts izmanto EF ORM ietvaru, lai pievienotu, dzēstu, modificētu un pārbaudītu datu bāzi, bet, saskaroties ar sarežģītiem vaicājumiem, var nebūt iespējams izmantot Linq un Lambda labākiem vaicājumiem, tāpēc mums ir jāizmanto EF 6, lai izpildītu vietējos SQL paziņojumus vaicājumiem.

Neapstrādāts SQL vaicājums (EF6):Hipersaites pieteikšanās ir redzama.

Tā kā SQL priekšrakstiem ir jābūt nosacījumam where, parametra vērtība tiek nodota caur URL parametru.


Pirmkārt, mūsu SQL priekšraksts vaicājumam izmanto virknes savienošanu šādi:



Kods ir šāds:

Datu bāzes izpildītos SQL paziņojumus var redzēt šādi:

SELECT Name FROM [Klasifikācija] WHERE Name = 'Mobilā izstrāde'; izvēlieties 1; --'

IetSQL priekšrakstu savienošanas veids ir pakļauts injekcijas riskam

Mēs modificējām kodu, lai novērstu SQL injekcijas uzbrukumus, parametrizējot vaicājumus, un kods ir šāds:



exec sp_executesql N'SELECT Name FROM [Klasifikācija] WHERE Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; izvēlieties 1; --'




Tā vietā, lai tieši izmantotu savienošanu, EF Core to pārvērš parametrizētos SQL priekšrakstos. Atsauces ir šādas:

EF Core Series (5) izpilda SQL priekšrakstus vai skatus, saglabātās procedūras
https://www.itsvse.com/thread-9565-1-1.html

(Beigas)





Iepriekšējo:Ieskats: Es redzēju emuāru autora parakstu no emuāra dārza
Nākamo:Izmantojiet SQLMAP infiltrācijas rīku SQL injekcijas testēšana
 Saimnieks| Publicēts 17.06.2023 11:11:50 |
Pārbaudiet SQL injekcijas testēšanu ar SQLMAP infiltrācijas rīku
https://www.itsvse.com/thread-10611-1-1.html
 Saimnieks| Publicēts 30.06.2023 20:47:17 |
Stenogrāfijas forma

 Saimnieks| Publicēts 02.01.2025 12:10:38 |
[Faktiskā cīņa]. NET/C# SQL vaicājumu ģenerators, kas balstīts uz sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com