[网安工具] SQLMAP 漏洞利用 —— 网站 GetShell

🌟想了解这个工具的其它相关笔记?看看这个:SQL 注入自动探测工具 —— SQLMAP 使用手册

当我们使用 SQLMAP 发现目标站点可能存在 SQL 注入漏洞后,就可以使用 SQLMAP 进行进一步的利用,比如 “GetShelll”。那么本章,笔者将继续以 SQLI LABS 靶场为例,讲解如何使用 SQLMAP 这款工具进行 SQL 注入的漏洞利用。

0x01:SQLMAP GetShell — 前提条件

SQLMAP 是支持通过 SQL 注入漏洞直接对网站进行 GetShell 的,但是这是有前提条件的:

  1. 当前获取的网站用户必须是 DBA(数据库管理员)。

  2. 攻击者需要知道网站的绝对路径。

  3. GPC 为 OFF,PHP 主动转义功能关闭。(可选)

  4. secure_file_priv 无限制。

对于第一个条件,则是要求当前控制的用户需要有执行写文件的权限;第二个条件是攻击者得知道写入的木马文件位置,以方便访问;第三个条件是可选的,主要是为了方便后续上传文件不被转义;第四个条件则限制了用户是否可以读写,以及进行读写的位置。

只有这上面几个条件都满足,或部分满足,我们才可以通过 SQLMAP 直接 GetShell。

0x02:SQLMAP GetShell — 实操流程

0x0201:判断当前用户是否是 DBA

在进行 GetShell 前要先通过 --is-dba 命令判断当前获取的网站用户是否是 DBMS 的 DBA,如果不是后面的也就不用进行了:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 --is-dba

0x0202:通过 --os-shell 命令 GetShell

如上,当得知我们当前用户权限为 DBA 后就可以尝试使用 --os-shell GetShell 了,命令如下:

python sqlmap.py -u http://127.0.0.1/sqli-labs/Less-2/?id=1 --is-dba

它首先会让你选择一个后端应用的语言,我们这里使用的是 SQLI-LABS 所以选择 PHP:

选择完语言后,它又会让你选择木马写入的位置,它提供了四种选项,对应的翻译如下:

  1. 常见路径(这个是 SQLMAP 自己提供的常见 WEB 应用根路径)。

  2. 自定义路径(这个是用户通过信息收集已经发现了目标站点绝对路径的情况下使用)。

  3. 自定义路径字典(这个是采用用户收集的路径字典进行爆破)。

  4. 暴力搜索(这个是采用 SQLMAP 自己的路径字典进行爆破)。

如上,我们这里选择选项 2,并且自己提供了网站的绝对路径,点击回车后,SQLMAP 会自动往目标 Web 站点写入 Shell:

如上,执行成功后,SQLMAP 会返回后门文件的地址,并且还会提供我们一个 Shell 环境,我们可以在这里面输入命令并获取到执行结果。

0x03:SQLMAP GetShell — 原理分析

这里我们简单分析一下 SQLMAP --os-shell 的原理,先来看看我 Get Shell 前的目录:

很干净,当我给 SQLMAP 提供了写入木马的地址后,下面是我 GetShell 后的目录:

如上,SQLMAP 会给指定目录中写入两个文件:

  • tmpuevcd.php 可以让我们上传文件到网站指定路径下。

  • tmpbnfdc.php 可以让我们执行命令,其默认的连接密码是 cmd

我们可以通过浏览器访问一下,下面是 tmpuevcd.php 的页面,是一个上传功能:

下面是 tmpbnfdc.php,直接访问是一个空白页面:

但是你要是查看源代码就可以发现,该文件默认接收一个 cmd 参数,我们可以通过该参数在目标站点上执行命令:


总结一下,SQLMAP 的 --os-shell 的原理,就是通过数据库中的文件写入函数,往目标服务器上写入了两个 WebShell,其中一个给我们提供文件上传页面,我们可以通过该脚本上传文件到目标指定目录下。另外一个则是用于返回一个可以让我们执行系统命令的命令行,该命令行通过网页端直接为 cmd 参数赋值也可以执行命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blue17 :: Hack3rX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值