![Kali Linux渗透测试全流程详解](https://wfqqreader-1252317822.image.myqcloud.com/cover/843/48162843/b_48162843.jpg)
1.3.1 搭建DVWA靶机
DVWA(Damn Vulnerable Web Application)是一套使用PHP+MySQL编写的Web安全测试框架,它的主要目的是让安全从业人员或学习者在一个合法的环境中测试他们的技能和工具,并帮助Web开发者更好地理解Web应用安全。DVWA经常作为安全教学和学习的辅助工具。
1.下载
在搭建DVWA测试框架之前,首先需要将其下载到本地。DVWA以开源的形式托管在GitHub上,可在Kali Linux终端环境下执行git clone https://github.com/digininja/DVWA /var/www/ html/DVWA命令将其下载到Kali Linux的网页目录中,如图1.42所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2026.jpg?sign=1738882096-v32DhjkHPZllUdWAVyePctq9kSwFoxCO-0-e1ce86c22c4e6aad3d2f2c58a4c7792a)
图1.42 下载DVWA
2.配置
在DVWA下载完毕后,需要修改DVWA目录的操作权限,以确保能操作文件夹中的所有文件。为此,在Kali Linux终端下输入命令chmod 777 -R DVWA/,为DVWA目录下的所有目录及文件赋予最高权限,如图1.43所示。
注意: 在chmod 777-R DVWA命令中,参数R表示递归操作。有关chmod命令以及更多参数的具体用途,读者可自行搜索相关资料进行学习。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2033.jpg?sign=1738882096-AnUEzyJkIgdkTwoNktEJfALsetiVnSS6-0-ff68150d691be4dbc85c63fe1de62ef8)
图1.43 修改DVWA目录的操作权限
在安装DVWA之前,需要先将必要的服务启动。为此,输入命令service apache2 start,启动Apache服务器。然后输入命令service mysql start,启动MySQL数据库,如图1.44所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2040.jpg?sign=1738882096-YRzuOQZIWTAK0mkwwJ1Z0lBr27iQ7rcm-0-0c3a5912ba52169601f509734b70f285)
图1.44 启动必要的服务
由于DVWA默认禁止以root用户的身份登录,所以我们需要登入MySQL数据库并在其中添加新的用户。Kali Linux默认安装了MariaDB数据库,这是MySQL数据库的一个分支。该数据库与MySQL数据库基本一致,在Kali Linux中启动MySQL数据库,就是启动MariaDB数据库。首先登录数据库,在终端中输入命令mysql -u root,如图1.45所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2047.jpg?sign=1738882096-dLAHxLYjWqwmZc6xFUghBXSEd30uO02X-0-db44c4b1c630ca1ad772b48a9bcf83b1)
图1.45 登录MariaDB数据库
在进入数据库之后,首先创建DVWA数据库。为此,输入命令create database dvwa;创建DVWA使用的数据库。然后,执行命令show databases;查看DVWA数据库,以确认数据库是否创建成功,如图1.46所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2119.jpg?sign=1738882096-eogW368QWVB9RCT0vg0j8hSMfbFG69kW-0-bf6cda74aba8dc2c1ecbdc7c47644266)
图1.46 创建DVWA数据库
在成功创建数据库之后,还需要对远程访问进行授权。为此,在数据库中输入命令grant all privileges on *.* to dvwa@127.0.0.1 identified by"123qwe";进行远程授权。在该命令中,all表示所有权限,*.*表示所有库下的所有表,dvwa则表示新建的MariaDB数据库用户名,127.0.0.1表示允许IP地址为127.0.0.1的主机进行访问,“123qwe”表示新建的数据库用户的密码,如图1.47所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2129.jpg?sign=1738882096-UwM4uVJJhg2bWmaCaUf5dt64u4mSMd21-0-4e52f625bb47f841323b5f77f72fbb84)
图1.47 对远程访问进行授权
授权完毕后,可输入命令exit退出,也可以按Ctrl+C组合键退出。
接下来,需要对配置文件进行简单的修改。首先进入DVWA目录并查看该目录下的文件构成,如图1.48所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2141.jpg?sign=1738882096-6SjWArfj9YwomE3Ky9mEUeBisZRTfOiF-0-ce6b601a2990b627b9b0a89269c6c46e)
图1.48 DVWA目录
DVWA目录中包含多个目录,但是常用的目录只有config和vulnerabilities这两个。其中,config目录存放的是DVWA的配置文件,vulnerabilities目录存放的是DVWA包含的漏洞实例源码。
进入config目录,可以发现里面有一个config.inc.php.dist文件,该文件用来生成配置文件的副本。执行命令cp config.inc.php.dist config.inc.php,将该文件额外复制一份,并将额外复制的文件作为配置文件,如图1.49所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2148.jpg?sign=1738882096-pafColBR1rlqKsS9sHCUaIcZxkwz0epe-0-d8dd210fe3c6e22e35f36a385ef7392f)
图1.49 复制文件
接下来,保持config.inc.php.dist文件不动,修改生成的副本文件config.inc.php。在Kali Linux终端下输入命令vim config.inc.php,修改的代码行如代码清单1.2所示。
代码清单1.2 修改配置文件
$_DVWA[ 'db_server' ] = '127.0.0.1'; //MariaDB数据库的地址
$_DVWA[ 'db_database' ] = 'dvwa'; //数据库名
$_DVWA[ 'db_user' ] = 'dvwa'; //数据库用户名
$_DVWA[ 'db_password' ] = '123qwe'; //数据库密码
如果读者是按照前文的内容一直操作到这一步,接下来只需要将密码修改为之前设置的“123qwe”,然后保存并退出即可。修改完配置文件后,需要重新启动Apache服务。
3.验证
重新启动Apache后,在Firefox浏览器的地址栏中输入地址http://127.0.0.1/DVWA/setup. php,这将启动DVWA的安装检查,如图1.50所示。
在图1.50中可以看到,这里需要将allow_url_fopen选项和allow_url_include选项打开。其中,allow_url_fopen选项用于激活URL地址形式的fopen封装,使其可以访问URL对象文件;allow_url_include选项则用于激活包含URL地址并将其作为文件处理的功能。
下面,我们将打开这两个选项。首先需要修改php.ini文件,进入/etc/php/7.4/apache2/目录下,然后在终端中输入命令vim php.ini将其打开。找到allow_url_fopen选项和allow_url_include选项,然后修改为On保存并退出即可,如图1.51所示。
在修改完php.ini文件后,重启Apache服务器,然后刷新图1.50所示的界面,可以看到这两个选项当前是开启的,如图1.52所示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2155.jpg?sign=1738882096-FXbp6RfcgDsOwRlaOwTxAyOl8nEwOxUm-0-384960102a3301304e682d02a3350b75)
图1.50 安装检查
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2163.jpg?sign=1738882096-6BqTH83YPCLZZDwxHPqBulUERzqpPLxa-0-c4c6693ed866d8306907bf52544a206f)
图1.51 修改php.ini文件
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2174.jpg?sign=1738882096-PAZ2ap8ycOGvfXswxS0dOqzZYzvPr0lf-0-df0ab98f1033ad36d02343e00e92a91b)
图1.52 开启选项
接下来,单击图1.52下方的Create/Reset Database按钮,将DVWA的数据库文件导入MariaDB数据库中。等待大约5秒后,浏览器中会显示DVWA的登录界面,如图1.53所示。
在图1.53中输入默认的用户名和密码(分别为admin和password),即可进入DVWA的主界面。
至此,DVWA靶机环境安装完成。使用DVWA进行渗透测试的细节会在后文进行演示。
![](https://epubservercos.yuewen.com/EECB5D/27665220807171506/epubprivate/OEBPS/Images/tx2184.jpg?sign=1738882096-AYRysWRaBvljOwCOz9j42Mavi38p9MGo-0-30fa27b4018c4bed6cf4336d0f788496)
图1.53 DVWA登录界面