PHP中的危險(xiǎn)函數(shù)全解析
在編譯 PHP 時(shí),如無(wú)特殊需要,一定禁止編譯生成 CLI 命令行模式的 PHP 解析支持??稍诰幾g時(shí)使用 –disable-CLI。一旦編譯生成 CLI 模式的PHP,則可能會(huì)被入侵者利用該程序建立一個(gè)WEB Shell 后門(mén)進(jìn)程或通過(guò)PHP 執(zhí)行任意代碼。
phpinfo()
功能描述:輸出 PHP 環(huán)境信息以及相關(guān)的模塊、WEB 環(huán)境等信息。
危險(xiǎn)等級(jí):中
passthru()
功能描述:允許執(zhí)行一個(gè)外部程序并回顯輸出,類似于 exec()。
危險(xiǎn)等級(jí):高
exec()
功能描述:允許執(zhí)行一個(gè)外部程序(如 UNIX Shell 或 CMD 命令等)。
危險(xiǎn)等級(jí):高
system()
功能描述:允許執(zhí)行一個(gè)外部程序并回顯輸出,類似于 passthru()。
危險(xiǎn)等級(jí):高
chroot()
功能描述:可改變當(dāng)前 PHP 進(jìn)程的工作根目錄,僅當(dāng)系統(tǒng)支持 CLI 模式PHP 時(shí)才能工作,且該函數(shù)不適用于 Windows 系統(tǒng)。
危險(xiǎn)等級(jí):高
scandir()
功能描述:列出指定路徑中的文件和目錄。
危險(xiǎn)等級(jí):中
chgrp()
功能描述:改變文件或目錄所屬的用戶組。
危險(xiǎn)等級(jí):高
chown()
功能描述:改變文件或目錄的所有者。
危險(xiǎn)等級(jí):高
shell_exec()
功能描述:通過(guò) Shell 執(zhí)行命令,并將執(zhí)行結(jié)果作為字符串返回。
危險(xiǎn)等級(jí):高
proc_open()
功能描述:執(zhí)行一個(gè)命令并打開(kāi)文件指針用于讀取以及寫(xiě)入。
危險(xiǎn)等級(jí):高
proc_get_status()
功能描述:獲取使用 proc_open() 所打開(kāi)進(jìn)程的信息。
危險(xiǎn)等級(jí):高
error_log()
功能描述:將錯(cuò)誤信息發(fā)送到指定位置(文件)。
安全備注:在某些版本的 PHP 中,可使用 error_log() 繞過(guò) PHP safe mode,
執(zhí)行任意命令。
危險(xiǎn)等級(jí):低
ini_alter()
功能描述:是 ini_set() 函數(shù)的一個(gè)別名函數(shù),功能與 ini_set() 相同。具體參見(jiàn) ini_set()。
危險(xiǎn)等級(jí):高
ini_set()
功能描述:可用于修改、設(shè)置 PHP 環(huán)境配置參數(shù)。
危險(xiǎn)等級(jí):高
ini_restore()
功能描述:可用于恢復(fù) PHP 環(huán)境配置參數(shù)到其初始值。
危險(xiǎn)等級(jí):高
dl()
功能描述:在 PHP 進(jìn)行運(yùn)行過(guò)程當(dāng)中(而非啟動(dòng)時(shí))加載一個(gè) PHP 外部模塊。
危險(xiǎn)等級(jí):高
pfsockopen()
功能描述:建立一個(gè) Internet 或 UNIX 域的 socket 持久連接。
危險(xiǎn)等級(jí):高
syslog()
功能描述:可調(diào)用 UNIX 系統(tǒng)的系統(tǒng)層 syslog() 函數(shù)。
危險(xiǎn)等級(jí):中
readlink()
功能描述:返回符號(hào)連接指向的目標(biāo)文件內(nèi)容。
危險(xiǎn)等級(jí):中
symlink()
功能描述:在 UNIX 系統(tǒng)中建立一個(gè)符號(hào)鏈接。
危險(xiǎn)等級(jí):高
popen()
功能描述:可通過(guò) popen() 的參數(shù)傳遞一條命令,并對(duì) popen() 所打開(kāi)的文件進(jìn)行執(zhí)行。
危險(xiǎn)等級(jí):高
stream_socket_server()
功能描述:建立一個(gè) Internet 或 UNIX 服務(wù)器連接。
危險(xiǎn)等級(jí):中
putenv()
功能描述:用于在 PHP 運(yùn)行時(shí)改變系統(tǒng)字符集環(huán)境。在低于 5.2.6 版本的 PHP 中,可利用該函數(shù)修改系統(tǒng)字符集環(huán)境后,利用 sendmail 指令發(fā)送特殊參數(shù)執(zhí)行系統(tǒng) SHELL 命令。
危險(xiǎn)等級(jí):高
【編輯推薦】