DVWA设置PHP函数allow_url_include:禁用

Posted

技术标签:

【中文标题】DVWA设置PHP函数allow_url_include:禁用【英文标题】:DVWA setup PHP function allow_url_include: Disabled 【发布时间】:2016-03-20 08:58:37 【问题描述】:

我正在通过 XAMPP 在 Windows 上设置 DVWA,我在 Google 中搜索了大约 24 小时 - 我似乎找不到答案。

我的问题是设置服务器:

php function `allow_url_include: Disabled`

我的配置文件说它已启用。会不会和我的端口有关?我应该将我的服务器设置为外部访问我的路由器,还是内部 IP 访问就足够了?

在设置我的服务器时,我得到了这个:

数据库设置

单击下面的“创建/重置数据库”按钮以创建或重置您的数据库。

如果您收到错误,请确保您在以下位置拥有正确的用户凭据:C:\XAMPP\htdocs\dvwa/config/config.inc.php

设置检查 操作系统:Windows 后端数据库:mysql PHP版本:5.5.30

Web 服务器 SERVER_NAME:192.168.0.13

PHP 函数 display_errors:已启用(简易模式!) PHP 函数安全模式:已禁用 PHP函数allow_url_include:禁用 PHP函数allow_url_fopen:启用 PHP函数magic_quotes_gpc:禁用 PHP 模块 php-gd:已安装

reCAPTCHA 密钥:丢失

可写文件夹 C:\XAMPP\htdocs\dvwa/hackable/uploads/:是) 可写文件 C:\XAMPP\htdocs\dvwa/external/phpids/0.6/lib/IDS/tmp/phpids_log.txt:是

状态为红色,表示尝试完成某些模块时会出现问题。

【问题讨论】:

好吧,显然我做了点什么。现在我可以进入我的 DVWA 家了。但是 php-function-allow-url 仍然被禁用。这会影响DVWA,未启用吗?服务器之前说它不会工作,但现在它仍然可以工作。 【参考方案1】:

要解决此问题,请转到:

C:\xampp\php\php.ini

然后改变:

allow_url_include=Off

收件人:

allow_url_include=On

然后转到:

C:\xampp\htdocs\DVWA\config\config.inc.php

然后改变:

$_DVWA[ 'recaptcha_public_key' ]  = ' ';
$_DVWA[ 'recaptcha_private_key' ] = ' ';

进入:

$_DVWA[ 'recaptcha_public_key' ]  = '6LdK7xITAAzzAAJQTfL7fu6I-0aPl8KHHieAT_yJg';
$_DVWA[ 'recaptcha_private_key' ] = '6LdK7xITAzzAAL_uw9YXVUOPoIHPZLfw2K1n5NVQ';

【讨论】:

【参考方案2】:

我知道这已经两周了,但要解决这个问题,您需要修改 php.ini,至少在 Linux 上是这样。我在 Windows 上没有遇到过这个问题,但这里是你需要更改的行:

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
allow_url_include=Off

将最后一行更改为:

allow_url_include=on

现在,重新启动 Apache 服务器并重新加载 URL。

【讨论】:

它可以工作,但我应该说你必须在 xampp 上重新启动 apache 服务才能看到效果。【参考方案3】:

为 Windows 和 XAMPP 安装找到了它。不要费心更改位于DVWA 文件夹中的php.ini 文件中的值。相反,请在 XAMPP 安装目录中查找 php.ini,例如C:\xampp\php\php.ini

搜索字符串:

allow_url_include=

将值改为allow_url_include=On并重启apache

【讨论】:

【参考方案4】:

对于 Kali Linux 编辑“apache2 Wide”php.ini 为我工作:

# updatedb
# locate php.ini
/etc/php/7.2/apache2/php.ini
/etc/php/7.2/cli/php.ini
/usr/lib/php/7.2/php.ini-development
/usr/lib/php/7.2/php.ini-production
/usr/lib/php/7.2/php.ini-production.cli
/var/www/html/DVWA-master/php.ini
# nano /etc/php/7.2/apache2/php.ini

CTRL + W,搜索allow_url_include,设置为On

# service restart apache2

你应该启用 allow_url_include

【讨论】:

【参考方案5】:

找到问题的伙伴,但这适用于 windows,但可能适用于你 ?

您需要在“phpForApache.ini”而不是“php.in”中应用更改

【讨论】:

【参考方案6】:

在 kali Linux 中。 使用命令查找使用的 php 版本: php -v (很多时候安装了不止一个版本的php) 之后转到目录/etc/php/7.4/apache2。这里 7.4 是 php 版本。 在该目录中使用编辑器或 nano 打开文件并添加

allow_url_fopen=On
allow_url_include=On

php.ini 文件。

然后,使用service apache2 restart重启apache2服务器 然后在浏览器中刷新dvwa页面

【讨论】:

【参考方案7】:

在 ubuntu 上提出同样的问题,我解决了。只需设置 $_DVWA[ 'db_user' ] = 'root'; $_DVWA[ 'db_password' ] = '';

【讨论】:

不确定这与 allow_url_include 问题有何关系,因为它正在禁用 url。 这篇文章没有回答问题

以上是关于DVWA设置PHP函数allow_url_include:禁用的主要内容,如果未能解决你的问题,请参考以下文章

DVWA:Command Injection 全等级命令注入

DVWA篇四:文件包含漏洞

重读dvwa的笔记

DVWA之 File Inclusion 文件包含

文件包含-笔记

DVWA配置详解