【问题标题】:How to execute program in chrooted PHP-FPM?如何在 chrooted PHP-FPM 中执行程序?
【发布时间】:2016-05-05 03:03:24
【问题描述】:

我现在正在编写一个小脚本来从 PHP (FPM) 执行 gpg,但不知何故 PHP 不允许我执行任何二进制/shell 脚本并返回退出代码 127。但是,如果我在 php-cli 中执行它们,它就可以正常工作。

PHP 配置:

PHP:php-fpm

网络服务器:nginx

chroot/user/home/php-root

chdir /

安全模式Off

禁用exec*?:否

我试过ff:

  1. 我已尝试执行 exec('whoami')ls 都返回 NULL 并给出退出代码 127
  2. shell_exec()所有命令都返回NULL
  3. system() 也返回 NULL
  4. 使用完整路径
  5. 使用2>&1返回NULL
  6. 复制gpg, whoamichrooted-root/bin
  7. chrooted-root/bin执行二进制

据我尝试,没有任何效果

有没有人可以让 PHP-FPM 在 chroot 环境下执行 shell/binary?

非常感谢!

【问题讨论】:

    标签: php linux shell nginx


    【解决方案1】:

    我发现将/bin/sh 复制到chrooted-root/bin 有效。还需要依赖:

    $ ldd /bin/sh
        linux-vdso.so.1 (0x00007ffc098c6000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2e92d52000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f2e9331e000)
    

    所以我不得不将/lib/x86_64-linux-gnu/libc.so.6/lib64/ld-linux-x86-64.so.2 复制到我的chroot 目录下。

    我不确定在所有发行版下是否是 /bin/sh,可能是 /bin/bash 或其他什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 2018-12-24
      • 2018-12-20
      • 2014-11-04
      相关资源
      最近更新 更多