PHP 風險函式說明

Loki_Q發表於2020-05-13

PHP危險函式

函式 作用 建議 級別
phpinfo 輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。 禁用影響不大
passthru 允許執行一個外部程式並回顯輸出 禁用影響不大
exec 允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等) 禁用影響不大
system 允許執行一個外部程式並回顯輸出 禁用影響不大
chroot 可改變當前 PHP 程式的工作根目錄,僅當系統支援 CLI 模式 禁用影響不大
scandir 列出指定路徑中的檔案和目錄。 有可能受影響
chgrp 改變檔案或目錄所屬的使用者組。 禁用影響不大
chown 改變檔案或目錄的所有者 禁用影響不大
shell_exec 通過 Shell 執行命令,並將執行結果作為字串返回。 禁用影響不大
proc_open 執行一個命令並開啟檔案指標用於讀取以及寫入。 禁用有可能沒法執行定時任務
proc_get_status 獲取使用 proc_open() 所開啟程式的資訊。 禁用有可能沒法執行定時任務
ini_alter、ini_set 可用於修改、設定 PHP 環境配置引數。 禁用影響不大
ini_restore 可用於恢復 PHP 環境配置引數到其初始值。 禁用影響不大
dl 在 PHP 進行執行過程當中(而非啟動時)載入一個 PHP 外部模組 禁用影響不大
pfsockopen 建立一個 Internet 或 UNIX 域的 socket 持久連線 禁用可能會影響RPC、Socket通訊等
syslog 可呼叫 UNIX 系統的系統層 syslog() 函式 禁用影響不大
readlink 返回符號連線指向的目標檔案內容 禁用影響不大
symlink 建立軟連結 禁用影響不大
popen 可通過 popen() 的引數傳遞一條命令,並對 popen() 所開啟的檔案進行執行 禁用影響不大
stream_socket_server 建立一個 Internet 或 UNIX 伺服器連線 禁用可能會影響RPC、Socket通訊等

以上結果,並不是最終結果。最終需要結合業務,分析其對業務的影響範圍。禁用的方法如下。

開啟php.ini,搜尋disable_functions,追加即可。

disable_functions = passthru,exec,system,chroot,chgrp,chown,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,stream_socket_server
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章