PHP exec故障排除

时间:2014-12-31 07:04:52

标签: php linux bash exec

首先,我的操作系统是Fedora 20。

以下是ll

的摘录
-rw-r--r-- 1 apache apache       91 Dec 31 01:47 block.php
-rwxr-xr-x 1 root   root         67 Dec 31 01:27 clear
-rw-r--r-- 1 root   root         10 Nov 27 14:48 eula.txt
-rw-r--r-- 1 root   root         53 Dec 23 00:38 index.php
-rwxr-xr-x 1 apache apache       95 Dec 31 01:12 ipblock

is_writable返回1(true); whoami在php文件中运行exec('whoami');时返回apache。

正如你所看到的那样。

我看到了一些关于PATH变量的信息,但不确定它在哪里。

以下是block.php的确切代码

 cat block.php
<?php
   $is=is_writable(ipblock);
   echo $is;
   $output = system("sh ipblock");
   echo $output;
?>

应该简单地将IP 44.44.44.44添加到iptables。很简单。 ipblock的内容

cat ipblock
iptables -A INPUT -s 44.44.44.44 -j DROP
service iptables save
service iptables restart

两个简单的文件,总代码少于10行。

我确保文件是可写的,拥有正确的用户,并且仍然。没有运气。

总结

问题:block.php从命令行运行并完全执行,但是,基于web的它不会。

会发生什么:Ip 44.44.44.44被iptables阻止。

其他信息:从root运行时whoami确实返回root,但是从web运行时,用户返回apache。我感觉某处有钥匙,但我完全错过了这个。

0 个答案:

没有答案