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: 3629|Respuesta: 1

Utiliza la herramienta de infiltración SQLMAP para pruebas de inyección SQL

[Copiar enlace]
Publicado en 17/6/2023 11:10:55 | | | |
Requisitos: Utiliza la herramienta de pruebas de penetración de código abierto sqlmap para probar los riesgos de inyección de interfaces web. La inyección SQL significa que la aplicación web no juzga la legitimidad de los datos de entrada del usuario o que el filtrado no es estricto, y el atacante puede añadir sentencias SQL adicionales al final de la instrucción de consulta definida previamente en la aplicación web, e implementar operaciones ilegales sin el conocimiento del administrador, para engañar al servidor de base de datos y que ejecute consultas arbitrarias no autorizadas, con el fin de obtener la información correspondiente de datos. En resumen, esLa interfaz de backend ejecuta sentencias SQL uniendo los parámetros solicitados

Revisión:

EF 6 ejecuta sentencias SQL nativas, problemas de inyección de parámetros
https://www.itsvse.com/thread-10610-1-1.html

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

C# Parameterized Parameters utiliza sp_executesql para ejecutar sentencias SQL
https://www.itsvse.com/thread-3111-1-1.html

SQL Injection Book - Vulnerabilidad de inyección ASP Contacto total
https://www.itsvse.com/thread-2305-1-1.html

SQLMAP es una herramienta de pruebas de penetración de código abierto que automatiza el proceso de detección y explotación de vulnerabilidades de inyección SQL y la toma de control de servidores de bases de datos. Cuenta con un potente motor de detección, muchas características específicas del probador de penetración definitivo y una amplia gama de interruptores, incluyendo huellas dactilares de bases de datos, obtención de datos de bases de datos, acceso al sistema de archivos subyacente y ejecución de comandos en el sistema operativo mediante conexiones fuera de banda.

SQL Map funciona directamente y funciona en cualquier plataformaVersiones 2.6, 2.7 y 3.x de Python

Construcción del entorno SQL Map

Descarga en Python:El inicio de sesión del hipervínculo es visible.



Dirección de código abierto SQLMAP:El inicio de sesión del hipervínculo es visible.
Documentación de comandos SQLMAP:El inicio de sesión del hipervínculo es visible.

Primero, el ordenador necesita instalar Python (omitido), y luego usar el comando git para descargar el código fuente, de la siguiente manera:



Opciones:

-h, --ayuda Mostrar mensaje básico de ayuda y salir -----Mostrar mensaje básico de ayuda y salir
-hh Mostrar mensaje de ayuda avanzada y salir-----
--versión para ver el número de versión----------- Mostrar el número de versión del programa y salir
-v VERBOSO nivel de detalle (0-6, por defecto 1) --Nivel de verbosidad: 0-6 (por defecto 1)

Blanco:

Al menos una de las siguientes opciones debe configurarse para determinar la URL objetivo, a saber: Al menos una de las siguientes opciones debe estar incluida en el comando de operación SQLMap para usarla normalmente

-d cadena de conexión DIRECT para conexión directa a la base de datos-------------------
-u URL, --url=URL URL destino --------------------- URL destino (por ejemplo, "http://www.site.com/vuln.php?id=1")
-l LOGFILE Analiza objetivo(s) de Burp o proxy de WebScarab ---- el objetivo desde el archivo de log de un Burp u otro proxy
-x SITEMAPURL analiza el objetivo desde el archivo remoto sitemap(.xml) --Analizar objetivo(s) desde el archivo remotemapmap(.xml)
Escanear múltiples objetivos asignados en un archivo textual -------- BULKFILE
-r REQUESTFILE Carga la solicitud HTTP desde un archivo ---------------Carga la solicitud HTTP desde un archivo
-g GOOGLEDORK Procesar resultados de Google dork como URLs objetivo---
-c CONFIGFILE Cargar opciones desde un archivo INI de configuración -------------- Cargar opciones desde un archivo INI de configuración

Pedir:

Las siguientes opciones especifican cómo conectarse a la URL de destino

--método=MÉTODO: Fuerza el uso de un método HTTP dado (por ejemplo, PUT------------------
--data=DATA cadena de datos que se enviará a través de POST usando el método POST------------------
--param-del=PARA..  Establecer el símbolo para separar los valores de los parámetros-------------------- Carácter usado para dividir los valores de los parámetros
--cookie=COOKIE especifica el valor de la cookie HTTP ---------------------- el valor de la cabecera de la cookie HTTP
--cookie-del=COO..  Carácter usado para dividir los valores de las cookies------------------

Al probar un punto de inyección usando SQLMAP, puedes usar el parámetro -v x para especificar la complejidad de la información del eco, que va de [0~6] a 7 niveles, con un valor por defecto de 1.

0: Solo se muestran los errores de Python junto con la información crítica.
1: Mostrar tanto información básica como información de advertencia. (por defecto)
2: Mostrar la información de depuración al mismo tiempo.
3: La carga útil inyectada se muestra al mismo tiempo.
4: Mostrar las solicitudes HTTP al mismo tiempo.
5: Mostrar la cabecera de respuesta HTTP al mismo tiempo.
6: Mostrar la página de respuesta HTTP al mismo tiempo.

ASP.NET Configuración del entorno de inyección de núcleos

Crea un nuevo proyecto web usando ASP.NET Core, escribe una interfaz con inyección y el código fuente es el siguiente:


Interfaz de prueba:



Pruebas de penetración comúnmente utilizadas

Enumerar bases de datos de SGBD

Y usar SQL Server Profile para capturar la ejecución del SQL, como se muestra en la siguiente figura:



select * de [Usuarios] donde [Username] = 'itsvse' UNION ALL SELECT NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(SELECT name FROM master.. sysdatabases PARA JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Enumerar las tablas de la base de datos especificada

El comando es el siguiente:



Para peticiones HTTP complejas, puedesmediante el parámetro -r(Cargando solicitudes HTTP desde archivos,Utiliza la herramienta Burp Suite para capturar solicitudes HTTP de paquetes) para cargar la petición HTTP original desde un archivo de texto. Esto te permite saltarte el uso de muchas otras opciones (por ejemplo, configuración de cookies, datos publicados, etc.).

SQL Map es potente, consulta la documentación para funciones más avanzadas. (Fin)




Anterior:EF 6 ejecuta sentencias SQL nativas, problemas de inyección de parámetros
Próximo:[Transferir] a MySQL Advanced: comando optimizar tabla
 Propietario| Publicado en 17/6/2023 11:21:41 |
Cámbialo a lo siguiente, no hay riesgo de inyección SQL:

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