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 小时前
ProfiNet转CANopen协议转换网关驱动新能源汽车生产线多轴同步控制
自动化·工业物联网·协议转换网关·网关模块·总线协议
币之互联万物5 小时前
AQUA爱克泳池设备入驻济南校园,以品质筑牢游泳教育安全防线
安全
小马哥编程6 小时前
【软件测试】自动化测试结合 CI/CD有哪些方案
自动化·集成测试·测试覆盖率
Three~stone6 小时前
MySQL学习集--DDL
数据库·sql·学习
weixin_457885827 小时前
JavaScript智能对话机器人——企业知识库自动化
开发语言·javascript·自动化
东方佑7 小时前
利用Python自动化处理PPT样式与结构:从提取到生成
python·自动化·powerpoint
Linux运维老纪8 小时前
运维之 Centos7 防火墙(CentOS 7 Firewall for Operations and Maintenance)
linux·安全·centos·云计算·运维开发·火绒
360安全应急响应中心8 小时前
基于 RAG 提升大模型安全运营效率
安全·aigc
XiaoLeisj8 小时前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis