如何在chrooted PHP-FPM中执行程序?

时间:2016-01-27 22:47:24

标签: php linux shell nginx

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

PHP配置:

PHP:php-fpm

网络服务器:nginx

chroot /user/home/php-root

chdir /

安全模式Off

禁用exec*?:否

我尝试了ff:

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

    据我所知,没有有效。

    是否有人能够在chrooted环境中使PHP-FPM执行shell / binary?

    非常感谢!

1 个答案:

答案 0 :(得分:0)

我发现将/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)

所以我必须在我的chrooted目录下复制/lib/x86_64-linux-gnu/libc.so.6/lib64/ld-linux-x86-64.so.2

我不确定所有发行版中的/bin/sh/bin/bash还是其他内容。