Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 3928|Respuesta: 3

[Fuente] EF 6 ejecuta sentencias SQL nativas, problemas de inyección de parámetros

[Copiar enlace]
Publicado en 14/6/2023 21:14:48 | | | |
Requisitos: El proyecto utiliza el framework EF ORM para añadir, eliminar, modificar y comprobar la base de datos, pero ante consultas complejas, puede que no sea posible usar Linq y Lambda para mejores consultas, por lo que necesitamos usar EF 6 para ejecutar sentencias SQL nativas para consultas.

Consulta SQL en bruto (EF6):El inicio de sesión del hipervínculo es visible.

Dado que las sentencias SQL necesitan llevar la condición where, el valor del parámetro pasa por el parámetro URL.


Primero, nuestra sentencia SQL utiliza la concatenación de cadenas para consultar, de la siguiente manera:



El código es el siguiente:

Puedes ver las sentencias SQL ejecutadas por la base de datos de la siguiente manera:

SELECT Name FROM [Clasificación] WHERE Name = 'Desarrollo Móvil'; seleccionar 1; --'

PasarLa forma en que se empalman las sentencias SQL corre el riesgo de ser inyectada

Modificamos el código para evitar ataques de inyección SQL parametrizando consultas, y el código es el siguiente:



exec sp_executesql N'SELECT Name FROM [Clasificación] DONDE Nombre = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; seleccionar 1; --'




En lugar de usar splicing directamente, EF Core lo convierte en sentencias SQL parametrizadas. Las referencias son las siguientes:

EF Core Series (5) ejecuta sentencias o vistas SQL y procedimientos almacenados
https://www.itsvse.com/thread-9565-1-1.html

(Fin)





Anterior:Perspectiva: vi la firma de una bloguera en el jardín del blog
Próximo:Utiliza la herramienta de infiltración SQLMAP para pruebas de inyección SQL
 Propietario| Publicado en 17/6/2023 11:11:50 |
Prueba las pruebas de inyección SQL con la herramienta de infiltración SQLMAP
https://www.itsvse.com/thread-10611-1-1.html
 Propietario| Publicado en 30/6/2023 20:47:17 |
 Propietario| Publicado en 2/1/2025 12:10:38 |
[Combate real]. Generador de consultas NET/C# SQL basado en SQL
https://www.itsvse.com/thread-10370-1-1.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com