架构师_程序员_码农网

N Recuperare parolă
Înregistrare

QQ登录

Un singur pas pentru a începe

Căutare
Vizualizare:1762|Răspuns: 2
打印 上一主题 下一主题

[INFOGRAFIC]EF 6 Execute Native SQL Statement, Parameter Injection Problems

[copy link]
R 跳转到指定楼层
proprietar
发表于 2023-6-14 21:14:48|只看该作者回帖奖励 | Răsfoire inversă|Mod de citire
Cerință: Proiectul utilizează cadrul EF ORM pentru a adăuga, șterge, modifica și interoga baze de date, cu toate acestea, în fața interogărilor complexe, este posibil să nu fie posibilă utilizarea Linq, Lambda interogare mai bună, trebuie să utilizăm EF 6 pentru a executa instrucțiuni SQL native pentru interogare.

Interogare SQL nativă (EF6): https: //learn.microsoft.com/zh-cn/ef/ef6/querying/raw-sql

Deoarece instrucțiunea SQL trebuie să transporte o condiție where, valorile parametrilor sunt transmise ca parametri URL.


În primul rând, instrucțiunea noastră SQL utilizează concatenarea șirurilor de caractere pentru interogare, după cum urmează:



Codul este după cum urmează:

Puteți vedea instrucțiunea SQL executată de baza de date după cum urmează:

SELECT Name FROM [Classification] WHERE Name = 'Mobile Development';select 1;--'

Prin îmbinarea instrucțiunilor SQL, există riscul de injectare.

Modificăm codul pentru a preveni atacul prin injectare SQL prin parametrizarea interogării după cum urmează:



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




În loc să proceseze SQL direct folosind splicing, EF Core îl traduce în instrucțiuni SQL parametrizate. Referința de mai jos:

EF Core Series (V) Executarea instrucțiunilor sau vizualizărilor SQL, a procedurilor stocate
h ttps:// www.itsvse.com/thread-9565-1-1.html

(Sfârșit)





Articolul precedent: Insights: din grădina blogului pentru a vedea un blogger pentru a scrie o semnătură
Urmatorul articol: Utilizarea SQLMAP Penetration Tool SQL Injection Testing
Rețeaua de fermieri de cod, publicată numai în procesul de practică, a întâmpinat dificultăți tehnice, nu induce în eroare pe alții.
sofabed
owner|发表于 2023-6-17 11:11:50|只看该作者
Testarea testelor de injecție SQL cu SQLMAP Penetration Tool
h ttps:// www.itsvse.com/thread-10611-1-1.html
Rețeaua fermier cod, publicat numai în procesul de practică, a întâmpinat dificultăți tehnice, nu induce în eroare pe alții.
Benches
楼主|发表于 2023-6-30 20:47:17|只看该作者
Forma prescurtată

Rețeaua de fermieri cod, publicat numai în procesul de practică, a întâmpinat dificultăți tehnice, nu induce în eroare pe alții.
Trebuie să vă conectați înainte de a putea posta înapoi Conectați-vă | Înregistrare

A ceastă versiune a regulilor integrale


DISCLAIMER: Toate software-ul, materialele de programare sau articolele publicate de Rețeaua Code Farmer sunt limitate la scopuri de studiu și cercetare; conținutul de mai sus nu poate fi utilizat în scopuri comerciale sau ilegale, în caz contrar, toate consecințele vă rugăm să fie suportate de utilizator. Informațiile de pe acest site provin din rețea, disputa privind drepturile de autor nu are nimic de-a face cu acest site. Trebuie să eliminați complet conținutul de mai sus din computerul dvs. în termen de 24 de ore de la descărcare. Dacă vă place programul, vă rugăm să sprijiniți software-ul autentic, să cumpărați înregistrarea și să obțineți servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail pentru a ne ocupa de ea.

E-mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 06:16

Răspuns rapidÎnapoi susÎnapoi la listă