天天看點

php執行權限提權,PHP提權之異步執行

在伺服器上都會定時運作一些腳本以完成周期性的任務. 而這些腳本往往是以root權限啟動的, 替換或者改變其中的内容就可以完成提權.而今天在這要講解的就是php提權中的異步執行方法.

在php中一般大家都用下面四個函數來調用系統指令,或者外部程式:

echo exec("dir");

echo shell_exec("dir");

echo system("dir");

echo passthru("dir");

echo `dir`;

?>

linux下可以通過在執行的指令後加上>/dev/null 2>&1 & 來丢棄所有的輸出資訊, 并在将此行指令單獨開出一個程序放到背景執行, 進而不會阻塞目前腳本往下繼續執行.

.....

exec("tar cjf /root && >/dev/null 2>&1 &);

......

?>

但是在windows的cmd中并沒有提供背景執行這個功能(&). 這時候除了使用at指令來添加定時執行任務外(很多時候定時服務是未打開的), 就隻能用popen加上 start /b來完成使命了.

#經過實驗隻有popen函數可以

#popen("start /b s..bat","r"); #成功

#exec("start /b s..bat");#失敗

popen("start /b ping -n 10 www.baidu.com && echo \"1111\" > ok.txt && ping -n 10 www.baidu.com && echo \"2222\" > ok2.txt && ping -n 10 www.baidu.com && echo \"3333\" > ok3.txt ","r");

echo "ALL is finish until here!!!";

?>

轉自天國哥哥的部落格。

原文:http://www.cnblogs.com/dongchi/p/4272890.html