Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3928|Odpowiedź: 3

[Źródło] EF 6 wykonuje natywne instrukcje SQL, problemy z wstrzykiwaniem parametrów

[Skopiuj link]
Opublikowano 14.06.2023 21:14:48 | | | |
Wymagania: Projekt korzysta z frameworka EF ORM do dodawania, usuwania, modyfikowania i sprawdzania bazy danych, ale w obliczu złożonych zapytań może nie być możliwe użycie Linq i Lambda do lepszych zapytań, dlatego musimy użyć EF 6 do wykonywania natywnych instrukcji SQL do zapytań.

Surowe zapytanie SQL (EF6):Logowanie do linku jest widoczne.

Ponieważ instrukcje SQL muszą przenosić warunek where, wartość parametru jest przekazywana przez parametr URL.


Po pierwsze, nasze wyrażenie SQL wykorzystuje konkatenację ciągów do zapytań, w następujący sposób:



Kod jest następujący:

Możesz zobaczyć instrukcje SQL wykonywane przez bazę danych w następujący sposób:

WYBIERZ nazwę Z [Klasyfikacja] GDZIE nazwa = 'Mobile Development'; Wybierz 1; --'

PrzechodzićSposób łączenia instrukcji SQL jest narażony na wstrzykiwanie

Zmodyfikowaliśmy kod, aby zapobiec atakom SQL injection poprzez parametryzację zapytań, a kod wygląda następująco:



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




Zamiast bezpośrednio używać splicingu, EF Core konwertuje je na parametryzowane instrukcje SQL. Źródła są następujące:

Seria EF Core (5) wykonuje instrukcje lub widoki SQL, procedury przechowywane
https://www.itsvse.com/thread-9565-1-1.html

(Koniec)





Poprzedni:Wgląd: Widziałem podpis blogera z ogrodu blogowego
Następny:Użyj narzędzia do infiltracji SQLMAP – testowania wtrysków SQL
 Ziemianin| Opublikowano 17.06.2023 11:11:50 |
Testuj iniekcje SQL za pomocą narzędzia infiltracyjnego SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
 Ziemianin| Opublikowano 30.06.2023 20:47:17 |
Forma stenografii

 Ziemianin| Opublikowano 02.01.2025 12:10:38 |
[Rzeczywista walka]. Generator zapytań SQL NET/C# oparty na sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com