Hakuin:一款自动化SQL盲注(BSQLI)安全检测工具

关于Hakuin

Hakuin是一款功能强大的SQL盲注漏洞安全检测工具,该工具专门针对BSQLi设计,可以帮助广大研究人员优化BSQLi测试用例,并以自动化的形式完成针对目标Web应用程序的漏洞扫描与检测任务。

该工具允许用户以轻松高效的形式对目标Web应用程序执行BSQLi安全检测,并采用了多种优化方法,包括预训练和自适应语言模型、机会性猜测和并行性机制等。

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

源码安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

复制代码
git clone https://github.com/pruzko/hakuin.git

然后切换到项目目录中,并执行安装命令:

复制代码
cd hakuin

pip3 install -e .

pip安装

除此之外,我们还可以直接使用pip3命令安装Hakuin:

复制代码
pip3 install hakuin

工具使用

Hakuin附带一个简单的封装工具,hk.py允许我们直接从命令行使用Hakuin的基本功能。要了解更多信息,请运行:

复制代码
python3 hk.py -h

使用样例

基于状态推断的查询参数注入检测

复制代码
import aiohttp

from hakuin import Requester

 

class StatusRequester(Requester):

    async def request(self, ctx, query):

        r = await aiohttp.get(f'http://vuln.com/?n=XXX" OR ({query}) --')

        return r.status == 200

基于内容推断的Header注入检测

复制代码
class ContentRequester(Requester):

    async def request(self, ctx, query):

        headers = {'vulnerable-header': f'xxx" OR ({query}) --'}

        r = await aiohttp.get(f'http://vuln.com/', headers=headers)

        return 'found' in await r.text()

尝试提取SQLite/MySQL/PSQL/MSSQL数据

复制代码
import asyncio

from hakuin import Extractor, Requester

from hakuin.dbms import SQLite, MySQL, PSQL, MSSQL

 

class StatusRequester(Requester):

    ...

 

async def main():

    # requester:    Use this Requester

    # dbms:         Use this DBMS

    # n_tasks:      Spawns N tasks that extract column rows in parallel

    ext = Extractor(requester=StatusRequester(), dbms=SQLite(), n_tasks=1)

    ...

 

if __name__ == '__main__':

    asyncio.get_event_loop().run_until_complete(main())

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

Hakuin :【GitHub传送门

参考资料

https://blackhatmea.com/session/hakuin-injecting-brain-blind-sql-injection

Hakuin: Injecting Brains Into Blind SQL Injection - HITBSecConf2023 - Phuket

https://wootconference.org/papers/woot23-paper17.pdf

相关推荐
GEEKVIP14 分钟前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
草莓屁屁我不吃1 小时前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
衍生星球5 小时前
【网络安全】对称密码体制
网络·安全·网络安全·密码学·对称密码
Flerken1015 小时前
数据库语言、SQL语言、数据库系统提供的两种语言
数据库·sql·oracle
掘根5 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
小哇6666 小时前
Spring Boot,在应用程序启动后执行某些 SQL 语句
数据库·spring boot·sql
xuehaishijue6 小时前
头部检测系统源码分享
安全
nbsaas-boot6 小时前
微服务之间的安全通信
安全·微服务·架构
CaritoB6 小时前
非结构化数据中台架构设计最佳实践
安全