SQL Injection o SQLi es la falla de seguridad de la aplicación web en la que el pirata informático o el intruso pueden engañar con las consultas SQL que una aplicación web realiza en su base de datos de almacenamiento. Esto puede llevar a ver datos, insertar datos, manipular datos sin tener acceso autorizado. Los datos que se manipulan han pertenecido en su totalidad a otros usuarios, o cualquier otro dato al que la propia aplicación web sea capaz de acceder. Hoy en día, todas las aplicaciones de compras en línea, las transacciones bancarias utilizan servidores de bases de datos de back-end. Entonces, en caso de que el atacante pueda explotar la inyección de SQL, todo el servidor está comprometido.
¿Qué es la inyección ciega de SQL?
Un ataque ciego de inyección de SQL entra en escena cuando la aplicación web de destino es vulnerable a la inyección de SQL, pero el giro es que las respuestas HTTP no contienen ningún resultado de la base de datos o errores que se supone que deben recuperarse según la consulta. Blind SQL Injection se puede utilizar para obtener datos confidenciales de los servidores de la base de datos. Lo más probable es que el pirata informático haga consultas verdaderas o falsas (1 o 0) a la base de datos de la aplicación y estudie esas respuestas en función de las respuestas de las aplicaciones.
Por ejemplo:
http://geeksforgeeks.org/items.php?id=2
La aplicación transfiere la siguiente consulta a la base de datos:
SELECCIONE título, descripción, cuerpo DESDE elementos DONDE ID = 2
El hacker puede entonces intentar inyectar una consulta maliciosa que devuelve ‘falso’:
http://geeksforgeeks.org/items.php?id=2 and 1=2
Ahora la consulta SQL debería verse así:
SELECCIONE título, descripción, cuerpo DESDE elementos DONDE ID = 2 y 1 = 2
Si la aplicación web es vulnerable a la inyección SQL, probablemente no devolverá nada. Para asegurarse, el hacker inyectará una consulta que devolverá ‘verdadero’:
http://geeksforgeeks.org/items.php?id=2 y 1=1
Ahora, del ejemplo anterior, este proceso se puede realizar a través de herramientas automatizadas. SQLbit es una de las herramientas automatizadas que tiene el potencial de detectar la inyección SQL ciega basada en booleanos en la aplicación web de destino. La herramienta SQLbit está desarrollada en el lenguaje Python3 y podemos descargarla u obtenerla desde la plataforma GitHub.
Nota : asegúrese de tener Python instalado en su sistema, ya que esta es una herramienta basada en Python. Haga clic para verificar el proceso de instalación: Pasos de instalación de Python en Linux
Instalación de la herramienta SQLbit en el sistema operativo Kali Linux
Paso 1 : clone la herramienta en su sistema operativo Kali Linux desde la plataforma GitHub.
clon de git https://github.com/Sunlight-Rim/SQLbit.git
Paso 2 : ahora use el siguiente comando para moverse al directorio de la herramienta. Tienes que moverte en el directorio para ejecutar la herramienta.
cd SQLbit
Paso 3 : Estás en el directorio de SQLbit. Ahora debe instalar la dependencia requerida de SQLbit usando el siguiente comando.
sudo pip3 install -r requirements.txt
Paso 4 : todas las dependencias se han instalado en su sistema operativo Kali Linux. Ahora use el siguiente comando para ejecutar la herramienta y verifique la sección de ayuda.
python3 sqlbit.py -h
Trabajar con la herramienta SQLbit en el sistema operativo Kali Linux
Ejemplo/Uso : Uso básico
python3 sqlbit.py
Necesitamos agregar la URL del objetivo en el archivo de configuración ya que esta herramienta no acepta argumentos de línea de comando.
Después de ingresar la URL, debemos ejecutar el archivo sqlbit.py.
Puede ver que tenemos los nombres de las tablas que están presentes en la base de datos de la URL.
Hay varias tablas presentes en la base de datos del dominio de destino.
Publicación traducida automáticamente
Artículo escrito por gauravgandal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA