Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 3928|Отговор: 3

[Източник] EF 6 изпълнява нативни SQL оператори, проблеми с инжектиране на параметри

[Копирай линк]
Публикувано в 14.06.2023 г. 21:14:48 ч. | | | |
Изисквания: Проектът използва рамката EF ORM за добавяне, изтриване, модификация и проверка на базата данни, но при сложни заявки може да не е възможно да се използват Linq и Lambda за по-добри заявки, затова трябва да използваме EF 6 за изпълнение на нативни SQL оператори за заявки.

Сурова SQL заявка (EF6):Входът към хиперлинк е видим.

Тъй като SQL операторите трябва да носят условието where, стойността на параметъра се предава през URL параметъра.


Първо, нашето SQL изявление използва конкатенация на низове за запитване, както следва:



Кодът е следният:

Можете да видите SQL операторите, изпълнявани от базата данни, както следва:

SELECT Име ОТ [Класификация] КЪДЕТО Име = 'Мобилна разработка'; изберете 1; --'

МинавамНачинът, по който се сплайсват SQL операторите, е изложен на риск от инжектиране

Модифицирахме кода, за да предотвратим атаки с SQL инжекции чрез параметризиране на заявки, и кодът е следният:



изпълнителен sp_executesql N'SELECT Име ОТ [Класификация] КЪДЕТО Име = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; изберете 1; --'




Вместо директно да използва сплайсинг, EF Core го преобразува в параметризирани SQL оператори. Източниците са както следва:

EF Core Series (5) изпълнява SQL оператори или изгледи, съхранени процедури
https://www.itsvse.com/thread-9565-1-1.html

(Край)





Предишен:Прозрение: Видях подписа на блогър от блог градината
Следващ:Използвайте инструмента за инфилтрация на SQL инфилтрацията на SQL инфилтрацията за тестване
 Хазяин| Публикувано в 17.06.2023 г. 11:11:50 ч. |
Тестове за SQL инжекции с инструмента за инфилтрация SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
 Хазяин| Публикувано в 30.06.2023 г. 20:47:17 ч. |
Стенография

 Хазяин| Публикувано в 2.01.2025 г. 12:10:38 ч. |
[Истински бой]. NET/C# SQL генератор на заявки, базиран на sqlkata
https://www.itsvse.com/thread-10370-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com