php的危險函式有passthru()函式、exec()函式、system()函式、chroot()函式、chgrp()函式、chown()函式、shell_exec()函式、proc_open()函式、proc_get_status()函數、ini_alter()函數、ini_set()函數、ini_restore()函數、dl()函數、pfsockopen()函數等等。
本教學操作環境:windows10系統、PHP8.1.3版本、Dell G3電腦。
php中內建了許許多多的函數,在它們的幫助下可以使我們更加快速的進行開發和維護,但是這個函數中依然有許多的函數伴有高風險的,比如說一下的16個函數不到萬不得已不盡量不要使用,因為許多「高手」可以透過這些函數抓取你的漏洞。
1、passthru()函數
功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。
危險等級:高
2、exec()函數
功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 指令等)。
危險等級:高
3、system()函數
功能描述:允許執行一個外部程式並回顯輸出,類似於 passthru()。
危險等級:高
4、chroot()函數
功能描述:可改變目前PHP 程序的工作根目錄,僅當系統支援CLI 模式
PHP 時才能運作,且函數不適用於Windows 系統。
危險等級:高
5、chgrp()函數
功能描述:改變檔案或目錄所屬的使用者群組。
危險等級:高
6、chown()函數
功能描述:改變檔案或目錄的擁有者。
危險等級:高
7、shell_exec()函數
功能描述:透過 Shell 執行指令,並將執行結果傳回為字串。
危險等級:高
8、proc_open()函數
功能描述:執行一個命令並開啟檔案指標用於讀取以及寫入。
危險等級:高
9、proc_get_status()函數
功能描述:取得使用 proc_open() 所開啟程序的資訊。
危險等級:高
10、ini_alter()函數
功能描述:是 ini_set() 函數的一個別名函數,函數與 ini_set() 相同。
具體參見 ini_set()。
危險等級:高
11、ini_set()函數
功能描述:可用來修改、設定 PHP 環境配置參數。
危險等級:高
12、ini_restore()函數
#功能描述:可用來還原 PHP 環境配置參數到其初始值。
危險等級:高
13、dl()函數
功能描述:在 PHP 進行執行過程當中(而非啟動時)載入一個 PHP 外部模組。
危險等級:高
14、pfsockopen()函數
#功能描述:建立一個 Internet 或 UNIX 域的 socket 持久連線。
危險等級:高
15、popen()函數
功能描述:可透過popen() 的參數傳遞一條指令,並對popen() 所開啟的文件進行執行。
危險等級:高
16、putenv()函數
功能描述:用於在 PHP 執行時改變系統字元集環境。在低於 5.2.6 版本的 PHP 中,可利用此函數
修改系統字元集環境後,利用 sendmail 指令傳送特殊參數執行系統 SHELL 指令。
危險等級:高
以上是php的危險函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!