如何在 Kali Linux 中安装 Sqlninja

17 Mar 2025 | 4 分钟阅读

Sqlninja 是一个 SQL 注入 工具。SQL 注入是易受攻击的,Sqlninja 利用在线 Web 应用程序获取远程主机的操作系统 shell。Web 应用程序使用 Microsoft SQL Server 作为其后端。Sqlninja 提供对易受攻击的数据库服务器的远程访问。

渗透测试人员应使用 Sqlninja 来辅助和自动化在检测到 SQL 注入漏洞时接管数据库服务器的过程。

换句话说,如果它检测到 SQL 注入,它将自动化利用过程。在本教程中,我们将学习如何在 Kali Linux 中安装 Sqlninja。

Sqlninja

Sqlninja 工具可以帮助我们利用使用 Microsoft SQL 作为后端数据库的应用程序中的 SQL 注入缺陷。使用 Sqlninja 工具的主要目的是通过 SQL 注入缺陷控制数据库服务器。Sqlninja 工具是一个 基于 Perl 的数据库评估工具,可以在 Kali 的 应用程序 | 数据库评估 中找到。Sqlninja 工具旨在利用注入缺陷来获取数据库服务器的 shell 访问权限,而不是识别注入缺陷的存在。

Sqlninja 要求

Sqlninja 是一个 Perl 脚本,需要许多 Perl 库 才能正常运行。因此,我们所要做的就是安装 Perl 及其模块,例如

  • NetPacket
  • Net-pcap
  • Net-DNS
  • Net-RawIP
  • IO-Socket-SSL
  • DBI

如果我们要使用 Metasploit 攻击模式,我们必须在机器上安装 Metasploit Framework 3。我们还需要一个 VNC 客户端 才能使用 VNC 有效载荷

我们可以在任何带有 Perl 解释器的 Unix 平台上运行 Sqlninja,以确保安装了所有必需的模块。Sqlninja 可用于已在以下平台成功测试的 Unix 操作系统

  • Linux
  • IOS
  • Mac OS X
  • FreeBSD

请记住,Sqlninja 不在 Windows 上运行。Sqlninja 根据 GNU 通用公共许可证 3.0 版 (GPLv3) 的条款发布。新版本 0.2.999-alpha1 已发布,并通过 WAITFORDNS 隧道 进行数据提取,并添加了 基于 VBScript 的功能。

此外,0.2.6.r1 是 Sqlninja 的稳定版本,不包含 alpha1 中包含的数据提取模块。

Sqlninja 功能

以下是 Sqlninja 的功能

  1. Sqlninja 根据时间或通过 DNS 提取数据
  2. Sqlninja 与 Metasploit3 集成,允许图形化访问远程数据库服务器。它通过 VNC 服务器注入或直接上传 Meterpreter。
  3. Sqlninja 考虑使用隐身技术来迷惑一些 IDS/IPS.WAF
  4. 基于字典和增量的 "sa" 密码 暴力破解
  5. Sqlninja 支持 CVE-2010-0232,用于将 sqlserver.exe 的权限提升到 SYSTEM。
  6. TCP 和 UDP 直接和反向绑定 shell。(外部主机名可以通过数据库服务器解析)。
  7. 如果原始版本已删除,则它会创建一个自定义版本
  8. Sqlninja 可以在不使用 FTP/TFTPVBScriptexe 的情况下,仅使用正常的 HTTP 请求上传 netcat。(当 SQLninja 0.2.6 发布时,它使用不同的方法来配置 HTTP 请求和相对的注入字符串)。
  9. Sqlninja 提供远程 SQL 服务器的指纹。它包含有关版本和运行查询的用户的信息。用户权限、xp_cmdshell 可用性和数据库认证模式。
  10. 从目标 SQL Server 到攻击机器的 TCP/UDP 端口扫描,以找到目标网络防火墙授权的端口,并将其用于反向 shell。
  11. 如果发现 "sa" 密码,Sqlninja 会提升 sysadmin 组的权限。

SQL 注入攻击

SQL 注入是 Web 应用程序最危险的攻击之一。此外,它还被列为十大 Web 应用程序安全威胁之一。SQL 注入攻击最有可能在何时发生?当应用程序处理用户提供的数据而未对其进行验证时,就会发生 SQL 注入。因此,SQL 注入可以使黑客访问数据库内容或系统远程命令。企业或组织使用 SQL 服务器来保存机密数据。

因此,很容易理解为什么黑客会将其作为目标。黑客可能会因此获得数据库服务器的控制权。查看下面的列表,了解哪些因素在 SQL 注入攻击中有效

  • 代码中漏洞的位置。
  • 漏洞如何让黑客采取行动。
  • 受损应用程序对服务器数据库的访问级别。

在 Kali Linux 上安装 Sqlninja

数据库通过提供各种功能(例如数据输入存储、大数据检索等)来同时惠及用户和服务器。黑客渗透测试人员 不断寻找一种方法来发现数据库安全中的漏洞。因此,我们可以利用 Sqlninja 通过利用 SQL 注入 问题来控制数据库服务器。现在我们熟悉 Sqlninja 和 SQL 注入,让我们看看如何在 Kali Linux 服务器上安装 Sqlninja。

在 Kali Linux 上安装 sqlninja 的步骤如下

步骤 1: 为了在 Kali Linux 上安装 Sqlninja,首先我们必须运行以下命令


How to Install Sqlninja in Kali Linux

步骤 2: 我们已经完成了 Sqlninja 和所有必需软件包的安装。使用以下命令安装所有依赖项。


How to Install Sqlninja in Kali Linux

我们可以通过导航到 应用程序 > 数据库评估 在 Kali 中找到它。

How to Install Sqlninja in Kali Linux

如何在 Kali Linux 上卸载 Sqlninja

我们可以随时执行以下命令来删除 Sqlninja。


How to Install Sqlninja in Kali Linux

通过这种方式,我们可以删除 Sqlninja 包本身。

我们还可以使用以下命令卸载 Sqlninja 及其依赖项。


How to Install Sqlninja in Kali Linux

我们还可以通过使用以下命令清除我们的 config/data


How to Install Sqlninja in Kali Linux


How to Install Sqlninja in Kali Linux

通过这种方式,我们可以删除 sqlninjalocal/config 文件。