引言
因为工作原因,正在参加安全众测,我又是初学者,自然就绕不开dvwa。我就想在kali上面配置dvwa,不想再windows里面配,毕竟这样显得自己更专业。
dvwa是什么?DVWA全称为Damn Vulnerable Web Application,意为存在糟糕漏洞的web应用。它开始于2008年,有十个漏洞,四种从底到高的难度,可以说是老少皆宜,居家必备的渗透测试靶场。
每个靶场都可以查看PHP源代码,方便进行审计,其最高难度Impossible中的代码更是展示了标准的安全代码场景。
下面我们就开始部署吧!
1. 下载文件
先配置好kali的源。
vim /etc/apt/sources.list
将阿里源地址复制进去。
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
更新并安装软件。
apt update
apt install -y apache2 mariadb-server mariadb-client php php-mysqli php-gd libapache2-mod-php
提前进入/var/www/html目录,等下就不用复制文件过去了。
cd /var/www/html
git下载DVWA文件 。
git clone https://github.com/ethicalhack3r/DVWA.git
如果你无法使用github下载,那么可以使用gitee的导入功能。
将DVWA/config/config.inc.php.dist的后缀名去掉。
cd DVWA/config
cp config.inc.php.dist config.inc.php
在config.inc.php中查看数据库密码。发现如下,那我等下就在数据库中如此配置,如果您有特殊需要也可以自己配置密码用户名等等。但是建议靶场在虚拟机中运行,并且使用NAT模式,这样局域网中的主机便无法网络连接到虚拟机中,如果是桥接有被嗅探的风险。
$_DVWA[ 'db_server' ] = getenv('DB_SERVER') ?: '127.0.0.1';
$_DVWA[ 'db_database' ] = 'dvwa';
$_DVWA[ 'db_user' ] = 'dvwa';
$_DVWA[ 'db_password' ] = 'p@ssw0rd';
$_DVWA[ 'db_port'] = '3306';
再打开config.inc.php修改以下字段:
$_DVWA[ 'disable_authentication' ] = true;
让默认安全模式是low,否则每次进去都是Impossible,根本就没有漏洞!我第一次使用的时候就没改,一个sql注入试了一天都没有漏洞,才发现是Impossible模式。
$_DVWA[ 'default_security_level' ] = 'low';
修改php.ini文件
cd /etc/php/8.2/apache2
vim php.ini
确定文件中有如下配置
allow_url_include = on
allow_url_fopen = on
display_errors = on
display_startup_errors = on
2. 配置mysql数据库
我的kali自带有mysql,所以我直接启动。
service mysql start
进入数据库
mysql -u root
使用如下命令创建一个新用户dvwa,并且配置其为root权限。
create user 'dvwa'@'localhost' identified by 'dvwa';
grant all on *.* to 'dvwa'@'localhost';
set password for 'dvwa'@'localhost' = password('p@ssw0rd');
flush privileges;
exit
3. 访问DVWA
访问http://127.0.0.1/DVWA/login.php
如果打开发现无法访问,请查看php.ini配置是否正确。
使用用户名:admin,密码:password。
登录成功:
初学者请一定确认当前的级别是low:
少年,开始你的Hacker之旅吧。