php 的 危 險 參 數

lotus_ruan發表於2021-09-09

hpinfo() 

功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。 

危險等級:中 

passthru() 

功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。 

危險等級:高 

exec() 

功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。 

危險等級:高 

system() 

功能描述:允許執行一個外部程式並回顯輸出,類似於 passthru()。 

危險等級:高 

chroot() 

功能描述:可改變當前 PHP 程式的工作根目錄,僅當系統支援 CLI 模式 

PHP 時才能工作,且該函式不適用於 Windows 系統。 

危險等級:高 

scandir() 

功能描述:列出指定路徑中的檔案和目錄。 

危險等級:中 

chgrp() 

功能描述:改變檔案或目錄所屬的使用者組。 

危險等級:高 

chown() 

功能描述:改變檔案或目錄的所有者。 

危險等級:高 

shell_exec() 

功能描述:透過 Shell 執行命令,並將執行結果作為字串返回。 

危險等級:高 

proc_open() 

功能描述:執行一個命令並開啟檔案指標用於讀取以及寫入。 

危險等級:高 

proc_get_status() 

功能描述:獲取使用 proc_open() 所開啟程式的資訊。 

危險等級:高 

error_log() 

功能描述:將錯誤資訊傳送到指定位置(檔案)。 

安全備註:在某些版本的 PHP 中,可使用 error_log() 繞過 PHP safe mode, 

執行任意命令。 

危險等級:低 

ini_alter() 

功能描述:是 ini_set() 函式的一個別名函式,功能與 ini_set() 相同。 

具體參見 ini_set()。 

危險等級:高 

ini_set() 

功能描述:可用於修改、設定 PHP 環境配置引數。 

危險等級:高 

ini_restore() 

功能描述:可用於恢復 PHP 環境配置引數到其初始值。 

危險等級:高 

dl() 

功能描述:在 PHP 進行執行過程當中(而非啟動時)載入一個 PHP 外部模組。 

危險等級:高 

pfsockopen() 

功能描述:建立一個 Internet 或 UNIX 域的 socket 持久連線。 

危險等級:高 

syslog() 

功能描述:可呼叫 UNIX 系統的系統層 syslog() 函式。 

危險等級:中 

readlink() 

功能描述:返回符號連線指向的目標檔案內容。 

危險等級:中 

symlink() 

功能描述:在 UNIX 系統中建立一個符號連結。 

危險等級:高 

popen() 

功能描述:可透過 popen() 的引數傳遞一條命令,並對 popen() 所開啟的檔案進行執行。 

危險等級:高 

stream_socket_server() 

功能描述:建立一個 Internet 或 UNIX 伺服器連線。 

危險等級:中 

putenv() 

功能描述:用於在 PHP 執行時改變系統字符集環境。在低於 5.2.6 版本的 PHP 中,可利用該函式 

修改系統字符集環境後,利用 sendmail 指令傳送特殊引數執行系統 SHELL 命令。 

危險等級:高 


禁用方法如下: 

開啟/etc/php.ini檔案, 

查詢到 disable_functions ,新增需禁用的函式名,如下: 

phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1762/viewspace-2805086/,如需轉載,請註明出處,否則將追究法律責任。

相關文章