我正在尝试使用 shell_exec()
函数通过 PHP 执行以下命令:
sudo -u USERNAME -pPASSWORD echo "SOME-STRING" > /dev/tcp/127.0.0.1/64444
但没有任何反应(如果我手动将其复制/粘贴到终端,它就可以工作)。 shell_exec()
函数的 $output
中也没有任何内容。
因此,使用该命令,我试图通过具有 sudo 权限的不同用户通过 TCP 发送字符串。
编辑 #1:完整的 PHP 命令如下所示:
shell_exec('sudo -u USERNAME -pPASSWORD echo "RLSET|79-192.168.1.33-0-1" > /dev/tcp/127.0.0.1/64444');
编辑 #2:我还检查了 phpinfo()
函数,safe_mode 已关闭
shell_exec()
函数也未关闭在不允许的功能列表上。
编辑 #4:我的 PHP PATH 变量包含以下位置:
/usr/local/bin:/usr/bin:/bin
我在这里迷路了,我们将不胜感激。
请您参考如下方法:
将你的引号换成你的完整命令路径:
shell_exec("sudo -u USERNAME -pPASSWORD echo \"FULL-PATH-COMMAND\" > /dev/tcp/127.0.0.1/64444")