gpt4 book ai didi

php - 绕过禁用的 DL 函数 PHP Linux

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:13 24 4
gpt4 key购买 nike

我在具有用户权限的 Linux 红帽服务器上有一个 PHP shell。我正在尝试对根目录进行符号链接(symbolic link),但在 PHP 中使用 ln -s 甚至 symlink() 仍然是不可能的。

我已经看到 PHP DL 功能被禁用了,如下图所示:

image

我在当前目录中使用了包含以下字符串的 php.ini:

safe_mode=OFF
disable_functions=NONE

而且它没有被禁用,那么怎么办呢?

最佳答案

自 PHP 5.3(和 7.0)以来,dl 函数以及动态加载 PHP 扩展的能力已从所有 PHP SAPI 中移除,CLI SAPI 除外在 php-fpm 中)。

Warning This function was removed from most SAPIs in PHP 5.3.0, and was removed from PHP-FPM in PHP 7.0.0.

Source php.net/dl

因此,除非您运行的是 PHP 5.2,否则该函数在 Web SAPI 中没有用处。无论如何,您不应该尝试在运行时在 Web 环境中动态加载您的扩展。它通常没有任何意义,并且会导致很多边缘情况。大多数这些边缘案例在 CLI 环境中没有实际意义,但对 Web 环境很重要。

至于覆盖 disable_functions,您需要确保您正在编辑正确的 php.ini 文件并从正确的 SAPI 检查 phpinfo()。请记住,从 CLI 运行的 PHP 和您的 Apache/web 是两个不同的二进制文件,它们可以加载不同的配置文件。因此,您应该查看正确的 phpinfo() 以找到要编辑的“Loaded configuration”文件。您总是需要重新启动 PHP 才能使这些加载的配置生效。请记住,dl() 可能已从任何当前受支持的 PHP 版本中删除。

关于php - 绕过禁用的 DL 函数 PHP Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39315450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com