DVWA靶机搭建(Kali Linux虚拟机环境)教程
没想到搭个靶机会搭那么久,索性就先写个笔记,以防万一吧......
准备工作:VMware虚拟机,其他的写到下面的步骤里去
写在前面:至少应该明白如何编辑和保存文本 / 有的文本是只读模式,使用root权限可以有效的解决问题
1. 首先先下载一下虚拟机系统:https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/
因为这个用起来还挺方便的(实际在用的时候还是遇到了很多不便......)。这里我用的是32位系统(单纯是因为它小一点罢了)
下载完成后直接解压,用VM打开即可。默认的登录账号和密码都是‘kali’。
2. 下载DVWA:
Github:https://github.com/digininja/DVWA
随便下一个就行,只要你能把下载好的内容放进虚拟机里就行。
本来我也想向其他人一样用VMware tools直接通过拖放来移动文件的,但在实际操作中,似乎这种方法在我这里遇到了一些问题,比如说无法拖放之类的(后来再测试发现应该是权限问题,但现在已经能够实现了,所以我也不太好复原我遇到的问题)。所以在自己搭建的时候,不妨先试试看能不能拖放吧,不能再用下面的方法。注:将内容解压后连带整个文件夹放入/var/www/html目录下即可
我的方法:直接在虚拟机中将压缩包下载下来,然后放入上述的目录下。但我发现没办法直接拖放。
来到/var/www目录下,右击打开终端,执行如下命令:(可能有的命令在执行的时候会发现没办法好好进行,这样的情况在下面的其他例子中也时长发生,要么是你写错了命令,要么就是限权不够。通过sudo su的命令或许root权限可以很好的解决你遇到的大多数问题)
sudo su //该命令用以获取root权限,密码为kali
chmod -R 777 ** //提权
再进入html目录下,执行同样的命令。然后应该就可以直接将文件拖放进去了。
3. 启动mysql:
其实主要还是自己对kali系统不太熟悉,查了一遍才发现kali下即便root用户也没办法如愿以偿的进入mysql......
解决方法:
service mysql start //启动mysql,如果有密码的话也是kali
sudo mysql_secure_installation //初始化密码,一直按Y就行
sudo mysql //这时候会发现可以直接进入mysql,而不需要密码了
use mysql;
select user, plugin from mysql.user;
set password for root@localhost = password('123');
flush privileges;
update mysql.user set authentication_string=PASSWORD('123'),plugin='mysql_native_password' where user='root';
select user, plugin from mysql.user;
flush privileges;
然后用这个方法大致就能成功将密码设定为123了,如果还是不行的话,参考一下我贴在最后的几篇文章吧,里面有几篇是关于这个问题的。
假设现在你已经能够通过:
mysql -uroot -p
并输入密码登录mysql,那么就可以开始接下来的操作了:
create databases dvwa;
show databases;
grant all privileges on *.* to [email protected] identified by "kali";
exit;
理论上,顺利的话结果应该都是:
Query OK, 0 rows affected (0.042 sec)
4. 修改配置文件:
进入/var/www/html/config/目录下,将config.inc.php.dick(应该是这个尾缀)改成config.inc.php,并进入终端,输入:
vim config.inc.php
找到如下内容,并按照下面写的配置:
$_DVWA[ 'db_user'] ='dvwa';
$_DVWA[ 'db_password'] = 'kali';
$_DVWA[ 'recaptcha_public_key' ] = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';
$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';
然后回到主机,在浏览器中输入IP/setup.php(因为我是把内容全都抛到html文件夹了,所以直接这样访问。如果你打包进了其他文件夹,就是IP后面加上目录即可,比如IP/dvwa/setup.php)
注:在虚拟机的终端输入ifconfig,在inet一栏能找到自己的IP。
然后托到最下面,点击按钮即可,正常的结果应该是这样:(如果上面都设置好了,应该也会是这样)
注:可能有的人会先进入一个登录页面,也可能是你在点击Creat/Reset Databases按钮之后才出现那个页面(我是后者)。登录的账号和密码分别是:admin/password
但有一些比较老的dvwa版本(比如我最开始下载成了1.3版本),它的登录账号和密码都是admin
5. 配置PHP GD支持:
如果你还没进行这一步,可以先在刚才setup页面的左边选项栏里试试File Upload等页面,应该会有一个红色的提示框告诉你PHP有什么问题,因为我已经解决了,所以现在截不到图,会意一下就好。
回到虚拟机终端,输入如下命令:
sudo apt-get install php-gd
但很可能你还是遇到了问题,比如安装失败,弹出了“Unable to locate package ....”差不多这样的信息。
网上查了一下,发现了很多解决方法,虽然试几种,但最后还是更新软件源这种方法最起效果,设定完成之后很快就成功安装了:
Ubuntu系统下应该有个“Software&Upload”的页面,如果你用的是那种,直接设定就好,这里我只介绍kali
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup //这一行是用来备份原本的配置的,万一你设置错了,还有恢复的余地
vim /etc/apt/sources.list
然后将# See那一栏后面的地址替换为:(当然,如果你有更好的列表源,也可以用自己的)
http://wiki.ubuntu.org.cn/%E6%BA%90%E5%88%97%E8%A1%A8
保存之后返回最外面的终端,执行如下命令:
sudo apt-get update
sudo apt-get install php-gd
正常情况下,现在应该能够正常进行安装了。
6. 配置PHP:
找到 '' /etc/php/7.2/apache2/ '' 文件夹,打开php.ini:
vim php.ini
更改如下两项:
''allow\_url\_include=Off'' 改为 ''allow\_url\_include=On''
''display\_errors=Off'' 改为 ''display\_errors=On''
最后重启apache2,在桌面的终端上:
service apache2 restart
7. 最后返回主机,打开上述setup的页面:
照理说,应该全都亮绿灯了,如果你发现哪一项还是红色,说明哪里出问题了。
8. 享受自攻自受的生活吧
以下略......