渗透利器-kali工具 (第三章-5) sqlmap之sql注入一、二

一:常见的注入方式

1.sqlmap用于Access数据库注入

2.sqlmap用于Cookie注入  --cookie

3.sqlmap用于Post注入  --froms 、--data、抓包

4.sqlmap用于mysql注入

绕过waf脚本测试:--tamper "space2morehash.py"

常见sqlmap使用方法:

https://www.cnblogs.com/hack404/p/10830239.html

https://www.cnblogs.com/ichunqiu/p/5805108.html

二:Sqlmap-常见的测试参数

1.指定参数进行测试:

参数:*号,和-p选项

2.使用Post方式提交注入:

参数:--data选项

3.Sqlmap扫描登录[1-5]

当 --level参数设定为2或者2以上的时候,会尝试对Cookie进行注入。

当 --level参数设定为3或者3以上的时候,会尝试对User-Angent,Referer进行注入。

参数:--level

4.自动执行默认选项:

参数: --batch

5.使用代理服务器连接到目标URL

参数:--proxy

6.自动切换客户端请求头:

参数:--random-agent

7.设置测试线程数,默认线程1:

参数:--threads

8.获取表中的数量:

参数:--count

9.风险等级,共有四个等级,默认为1:

1.会测试大部分语句

2.会增加基于时间的测试语句

3.会增加or语句的sql注入语句。

参数:--risk

三:Sqlmap的测试等级

1.探测等级[1-5]:

参数: --level

共有5个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,可以根据相应到的格式添加自己的payload。

这个从参数不近影响使用哪些payload同时也影响测试的注入点,GET和Post的数据都会尝试,

大于或等于2的时候会测试cookie,大于3或等于3的时候会检测HTTP User-Agent/Referer在不确定那个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。

2.风险等级[4个等级]

参数:--risk

共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加or语句的sql注入测试。

在有些时候,例如在update的语句中,注入一个or的测试语句,可以导致更新的整个表,可能造成很大的风险。

测试的语句同样可以在xml/payloads。xml中找到,也可以额自行添加payload。

四:介绍Sqlmap脚本

1.脚本的租用:帮助我们绕过一些WAF,进行测试。

2.脚本目录:Tamper目录。

3.有哪些脚本:https://xz.aliyun.com/t/2746

五:sqlmap get shell

1.sqlmap命令操作

2.sqlmap系统操作:

--os-shell 产生交互式的操作系统的shell,用来执行cmd命令。

1.--os-shell系统操作的要求:

网站必须root权限:--is -dbs

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

GPC为off,php主动转义的功能关闭

secure file priv为空

2.使用--os-shell之后会生成两个文件:

上交脚本文件:可以上传小木马、大木马。

后门文件:保持权限。

六:是sqlmap小技巧

1.sqlmap注入时:

1.判断可以注入的桉树

2.判断可以用那种sql注入技术来注入

3.识别出那种数据库

4.根据用户选择,读取哪些数据。

2.sql注入支持五种不同的注入模式:

1.基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

2.基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟,语句是否执行[即页面返回时间是否增加]来判断。

3.基于报错的注入,即页面会返回错误信息,或者把注入的语句的结构直接返回在页面中。

4.联合查询注入,可以使用union的情况下的注入。

5.堆查询注入,可以同时执行多条语句的执行时的注入。

3.sqlmap注入检测:

如果想观察sqmap对一个点是进行了怎么的尝试判断以及数据读取的,可以使用-v参数

共有7个等级,默认为1:

0、只显示python错误以及严重的信息。

1.同时显示基本信息和警告信息[默认]。

2.同时显示debug信息。

3.同时显示注入的payload。

4.同时显示HTTP请求。

5.同时显示HTTP响应头。

6.同时显示HTTP响应页面。

注:如果你想看到sqlmap发送的测试payload最好的等级就是3.

七:使用Burp+Sqlmap批量测试

sqlmap可以批量扫描包含有request的日志文件,而request日志文件可以通过burpsuite来获取。

因此通过sqlmap结合Burpsuite工具,可以更搞笑的对应应用程序是否存在sql注入漏洞进行地毯是的扫描。

步骤:

1.首先是Burp设置记录log,文件名随便填一个。

2.把记录的log文件放sqlmap目录下。

3.sqlmap读log自动测试:

sqlmap.py -l 文件名 --batch -smart

batch:自动选yes

smart:启发式快速判断,节约时间

4.sqlmap,最后能注入的url会保存到一个文件内,具体目录可以在读取之后查看。

任意:log文件中如果有sqlmap无法读取的字符[ascii码之外的字符]]会读取失败。

八:使用Burp插件+sqlmap测试[需要安装sqlmap插件]

1.代理监听sqlmap测试语句:

sqlmap.py -u "http://xx.xxx.xx.x:8804/news.php?id=1" --proxy=http://127.0.0.1:8080 --random-agent

2.sqlmap快速测试Burp数据包:

-r参数,从文件读取数据包

3.使用Burp插件跑sqlmap注入

相关推荐
☆七年8 分钟前
新版IJidea 如何打开数据库窗口(2024.2.4 版)(连接数据库)
数据库
Htht1118 分钟前
【Linux】常用命令
linux·服务器·网络
MXsoft6189 分钟前
监控易助力国家某办公室实现多数据中心高效监控与运维管理
大数据·运维·数据库
liuxin3344556629 分钟前
Spring Boot框架:构建符合工程认证的计算机课程
数据库·spring boot·php
y0ungsheep36 分钟前
[FBCTF 2019]rceservice 详细题解
安全·web安全·网络安全·正则表达式·php
GGBondlctrl38 分钟前
丹摩征文活动 |【网络原理】关于HTTP的进化之HTTPS的加密原理的那些事
网络·https·非对称加密·对称加密·中间人攻击
溟洵42 分钟前
MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘图 简单易懂)
linux·数据库·mysql
此星光明1 小时前
GEE 数据集——美国gNATSGO(网格化国家土壤调查地理数据库)完整覆盖了美国所有地区和岛屿领土的最佳可用土壤信息
javascript·数据库·数据集·美国·数据·gee·土壤
牛奔1 小时前
解决Mac M芯片 Wireshark 运行rvictl -s 后,出现Starting device failed
网络·测试工具·macos·wireshark
猫爪笔记2 小时前
MySQL数据库: 初始MySQL +Navicat (学习笔记)
数据库·笔记·mysql·navicat