【发布时间】:2016-02-01 20:47:32
【问题描述】:
当我注意到我无法从以下结果中得到结果时,我只是在测试和摆弄安全的东西:
<?php echo shell_exec('history'); ?>
同指:
<?php echo shell_exec('fc -l 1'); ?>
最后都使用2>&1 进行了尝试,但毕竟-history 不是命令。在 CLI 下也试过:
php -r "echo shell_exec('fc -l 1');"
不返回任何内容。已尝试使用system() 和exec()(=不返回结果)。同时:
- 我可以通过 SSH 执行
history和fc -l 1; - 我可以通过 PHP 执行其他命令,例如
ls(shell_exec()在 web 和 CLI 中); - 我运行的是同一个用户;
-
history和fc -l 1确实返回结果;
【问题讨论】:
-
你确定是同一个用户吗?尝试
whoami两种方式来确保。 -
是的,是同一个用户。确实通过
whoami确认了这一点。 -
好吧,那我不知道了,抱歉
-
shell_exec运行 Bourne Shell。history和fc是bash的扩展。
标签: php shell shell-exec