1. 程式人生 > >php直接執行linux 命令

php直接執行linux 命令

linux 命令 sql gin tcp net 命令 list dos 代碼

註意你可以使用的命令只能是php這個用戶組的權限和範圍,註意這個linux 執行的,windows也是可以對應dos命令,但是打印格式不是很好看

//$output = `ls -al`;
//$output = `netstat -tnlp`;
$output = `id www`;
echo "<pre>$output</pre>";

網頁返回的結果

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        
0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1471/nginx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN - tcp 0 0 :::3306 :::* LISTEN - tcp
0 0 :::22 :::* LISTEN - tcp 0 0 ::1:25 :::* LISTEN -

linux root權限

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        
0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1470/nginx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1229/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1452/master tcp 0 0 :::3306 :::* LISTEN 1348/mysqld tcp 0 0 :::22 :::* LISTEN 1229/sshd tcp 0 0 ::1:25 :::* LISTEN 1452/master

可以明顯看出

註意不是英文的單引號,是反引號(``)

這個可以作為註入的代碼

這個叫做 執行運算符

http://php.net/manual/zh/language.operators.execution.php

你還可以通過 程序執行 相關的函數來執行程序

http://php.net/manual/zh/ref.exec.php

php直接執行linux 命令