关于DVWA安装的各个问题,逐个击破

前段时间,部署了DVWA环境,遇到各种疑难杂症的问题,在网上也找不到对应的解决方案,所以,决定写一篇关于大家都会遇到的问题的解决方法,希望能够帮助到有需要帮助的人。

首先,安装LAMP或者LNMP环境,这里就进行阐述,不过可以参考我们一些老前辈的文章:

参考链接:

比较详细:Centos7+LAMP部署DVWA环境---https://www.jianshu.com/p/0aa3320fc848

专门针对DVWA:dvwa安装教程-https://www.jianshu.com/p/0dda6cfc3a9e?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

LAMP环境的搭建(自定义):https://www.cnblogs.com/xuefy/p/11550715.html

当然,有其他更为简单的部署方式方法,这里就不一一引用,有需要的自行度娘或者谷歌。

对于数据库,我使用的是mysql8.0.4,比较新的版本,PHP的环境是7.4,也是比较新的版本,所以你们部署旧的环境,或者使用集成的环境,技术比较成熟,不一定会遇到这些问题。

部署与前期的解压安装,配置我这里不做详细解读,详细请看参考链接。

现在进入正题:

安装好之后,打开检查页面,出现如下常见问题:

Setup Check

Operating system: *nix

Backend database: MySQL

PHP version: 7.4.0

Web Server SERVER_NAME: 192.168.118.129

PHP function display_errors: Enabled (Easy Mode!)

PHP function safe_modeDisabled

PHP function allow_url_include: Disabled

PHP function allow_url_fopen: Disabled

PHP function magic_quotes_gpc: Disabled

PHP module gd: Missing - Only an issue if you want to play with captchas

PHP module mysql: Installed

PHP module pdo_mysql: Missing

MySQL username: root

MySQL password: ******

MySQL database: dvwa

MySQL host: 127.0.0.1

reCAPTCHA key: Missing

[User: root] Writable folder /usr/local/httpd/htdocs/DVWA/hackable/uploads/: no

[User: root] Writable file /usr/local/httpd/htdocs/DVWA/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt: no

[User: root] Writable folder /usr/local/httpd/htdocs/DVWA/config: no

Status in red, indicate there will be an issue when trying to complete some modules.

If you see disabled on either allow_url_fopen or allow_url_include, set the following in your php.ini file and restart Apache.

allow_url_fopen = On

allow_url_include = On

These are only required for the file inclusion labs so unless you want to play with those, you can ignore them.

由于编辑器的问题,无法将字体标红,这里放入一张图片:

现在我们来进行逐个逐个突破:

PHP function allow_url_include:Disabled

PHP function allow_url_fopen:Disabled

第一个问题:都对php.ini文件进行修改即可

查找php.ini文件,并修改如下三个位置的php.ini文件(如果不知道怎么定位,就全部改成:allow_url_include:On, allow_url_fopen:On即可:

一、DVWA安装目录下的php.ini文件,默认allow_url_include:On, allow_url_fopen:On,无需修改,如果出现:allow_url_include:Off,或者allow_url_fopen:Off,请修改成上面默认的On即可。

二、修改etc目录下的php.ini文件,一般路径是:/etc/php.ini,如果没有,不用修改。查找到allow_url_include:Off, allow_url_fopen:Off这两个参数,都改成On即可,如果已经是On则不用修改

三、修改PHP安装目录下的php.ini文件,每个人安装的目录不一样,以find找到的目录为准,查找到allow_url_include:Off, allow_url_fopen:Off这两个参数,都改成On即可,如果已经是On则不用修改。

这次,我们第一个问题就已经解决,重启apache服务即可;如图所示:

第二个问题:这个问题最为难解,耗费了我很长的时间。

网上很多教程都是说,安装php-gd扩展插件就行,但是如何安装是个问题。

    1、有些人说yum install -y php-gd,确实可以安装成功,但是,还是正常提示

    2、很多人说不影响正常使用,这个功能主要是图形图像调用的功能,怎么可能不影响正常使用呢?

我查找了很多关于pd插件安装的资料,总结如下:

    一、需要在PHP安装文件内进行扩展的安装,然后引用即可,包括后面pdo_mysql扩展包也是同样的安装方式

    1、首先,进入php安装编译的目录:cd /usr/lanp/php-7.4.0 (说明:这里是我PHP编译的目录,其他你们通过yum或者自行编译安装的,或者是集成环境安装的,需要找到对应的安装文件目录)

    2、查找系统是否存在:phpize,通过命令:find / -name phpize ,我显示的路径是我的安装目录下:/usr/local/php/config/phpize,加粗的这段路径,根据个人的安装目录而定,有些人并非安装在usr/local/路径下,以查找的结果为准。

    3、进入扩展目录:cd /usr/lamp/php-7.4.0/ext/gd

    4、执行phpize,直接:/usr/local/php/config/phpize,即会提示执行完成,如果无法执行的,请确认m4与autoconf是否安装,如果未安装,可以通过yum进行安装:yum install -y m4,autoconf

    5、执行./configure --with-php-config=/usr/local/php/bin/php-config(说明:/usr/local/php/为我的安装路径,如果你们自己安装的,请修改成你们自己的安装路径。

    6、make && make install ,编译,安装,安装完成之后,会提示安装地址:我的地址为:/usr/php/lib/php/extensions/no-debug-zts-20131226/gd.so

    7、修改php安装目录下的php.ini文件:vim /usr/local/php/bin/php.ini,在extension附件添加: extension=/usr/local/php/lib/php/extensions/no-debug-zts-20190902/gd.so

    8、保存,重启apache服务即可,完成修改,pdo_mysql,同样的安

第三个问题:reCAPTCHA key: 

这个问题相对简单,可以找到很多比较详细的方法:

参考链接:https://blog.csdn.net/RBPicsdn/article/details/80059132

编辑 dvwa/config/config.inc.php这个配置文件

$_DVWA[ 'recaptcha_public_key' ] = '';

$_DVWA[ 'recaptcha_private_key' ] = '';

key可以自己生成,地址是

https://www.google.com/recaptcha/admin/create

下面这个是我自己生成的,随便用

Site key:

6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb

Secret key:

6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K

把key填上就行了

$_DVWA[ 'recaptcha_public_key' ] = '6LdJJlUUAAAAAH1Q6cTpZRQ2Ah8VpyzhnffD0mBb';

$_DVWA[ 'recaptcha_private_key' ] = '6LdJJlUUAAAAAM2a3HrgzLczqdYp4g05EqDs-W4K';

————————————————

第四个问题:其实都是权限的问题,这个也相对简单

    [User: root] Writable folder /usr/local/httpd/htdocs/DVWA/hackable/uploads/:no

    [User: root] Writable file /usr/local/httpd/htdocs/DVWA/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt:no

    [User: root] Writable folder /usr/local/httpd/htdocs/DVWA/config:no

1、找到apache用户,一般查看进程就可以知道用户了:ps -ef | grep httpd

2、对目录添加权限(说明:httpd_user为我的apache用户):

        chown httpd_user:httpd_user /usr/local/httpd/htdocs/DVWA/hackable/uploads/

        chown httpd_user:httpd_user /usr/local/httpd/htdocs/DVWA/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt

        chown httpd_user:httpd_user /usr/local/httpd/htdocs/DVWA/config

        chown命令使用请问度娘与谷歌;

3、可以使用个懒人方法:chmod 777 /路径/,不建议使用该方法。

配置完成之后,如图所示:全部搞定:


后面就点击创建或重置数据库,即可正常使用,如果创建或重置数据库过程中报错,请确定dvwa/config/config.inc.php这个配置文件数据库部分的配置,包括主机名、数据库用户名、密码等正确,并能够正常访问数据库。

你可能感兴趣的:(关于DVWA安装的各个问题,逐个击破)