PHP 对外部程序的调用全部失败,退出代码为 127

发布于 2024-07-25 11:10:35 字数 184 浏览 11 评论 0原文

echo system("/usr/bin/whoami", $ret);
echo $ret;

Apache 2.0.52、CentOS 4.5 上的 PHP 4.3.9。 安全模式已关闭,我可以从命令行以 apache 用户帐户运行程序,但从 PHP 运行的所有程序都会失败,退出代码为 127。

echo system("/usr/bin/whoami", $ret);
echo $ret;

PHP 4.3.9 on Apache 2.0.52, CentOS 4.5. Safe mode is off, I can run programs as the apache user account from the command line, but all programs run from PHP fail with exit code 127.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

笑咖 2024-08-01 11:10:35
  • 查看 /usr/bin/whoami 是否存在,并且任何人都可以执行(且可读,模式 xx5)。
  • 请参阅 doc_rootuser_dir 上的 php.ini,如果设置了这些内容,它们可以限制您可以执行的内容。
  • 如果您的 Apache 或 PHP 已 chroot,则需要将要执行的应用程序放入 chroot 中。
  • 如果计算机上正在运行某些其他安全系统或 RBAC,请参阅 dmesg/var/log/ 中的日志文件。
  • 不要忘记使用 &$ret 而不是 $ret
  • 请参阅 PHP 的 exec()passthru(),不同的函数可能适用于不同的情况。
  • 要知道,Apache 有一个不同的 php.ini,对于 cli 使用也有一个不同的。
  • See if /usr/bin/whoami exists, and is executable (and readable, mode xx5) by anyone.
  • See php.ini on doc_root and user_dir, if those are set they can limit what you can execute.
  • If your Apache or PHP is chrooted, you need to put the application to execute into the chroot.
  • If there's some other security system or RBAC running on the machine, see dmesg or log files in /var/log/.
  • Don't forget to use &$ret instead of $ret.
  • See PHP's exec() and passthru(), different functions might work for different situations.
  • Know that there's a different php.ini for Apache, and a different one for cli use.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文