當前位置:首頁 >  站長 >  編程技術(shù) >  正文

PHP危險函數(shù)禁用深入詳解

 2021-03-07 09:08  來源: 腳本之家   我來投稿 撤稿糾錯

  域名預(yù)訂/競價,好“米”不錯過

這篇文章主要介紹了PHP危險函數(shù)禁用深入詳解,列舉了一些比較敏感的函數(shù),有感興趣的同學(xué)可以學(xué)習(xí)下。

error_log()

功能描述:將錯誤信息發(fā)送到指定位置(文件)。

安全備注:在某些版本的 PHP 中,可使用 error_log() 繞過 PHP safe mode, 執(zhí)行任意命令。

危險等級:低

phpinfo()

功能描述:輸出 PHP 環(huán)境信息以及相關(guān)的模塊、WEB 環(huán)境等信息。

危險等級:中

scandir()

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

禁用建議:不建議禁用,因為thinkphp框架需要調(diào)用。

危險等級:中

syslog()

功能描述:可調(diào)用 UNIX 系統(tǒng)的系統(tǒng)層 syslog() 函數(shù)。

危險等級:中

readlink()

功能描述:返回符號連接指向的目標文件內(nèi)容。

危險等級:中

stream_socket_server()

功能描述:建立一個 Internet 或 UNIX 服務(wù)器連接。

禁用建議:不建議禁用,workerman框架需要使用。

危險等級:中

passthru()

功能描述:允許執(zhí)行一個外部程序并回顯輸出,類似于 exec()。

危險等級:高

exec()

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

危險等級:高

system()

功能描述:允許執(zhí)行一個外部程序并回顯輸出,類似于 passthru()。

危險等級:高

chroot()

功能描述:可改變當前 PHP 進程的工作根目錄,僅當系統(tǒng)支持 CLI 模式 PHP 時才能工作,且該函數(shù)不適用于 Windows 系統(tǒng)。

危險等級:高

chgrp()

功能描述:改變文件或目錄所屬的用戶組。

危險等級:高

chown()

功能描述:改變文件或目錄的所有者。

危險等級:高

shell_exec()

功能描述:通過 Shell 執(zhí)行命令,并將執(zhí)行結(jié)果作為字符串返回。

危險等級:高

proc_open()

功能描述:執(zhí)行一個命令并打開文件指針用于讀取以及寫入。

危險等級:高

proc_get_status()

功能描述:獲取使用 proc_open() 所打開進程的信息。

危險等級:高

ini_set()

功能描述:可用于修改、設(shè)置 PHP 環(huán)境配置參數(shù)。

禁用建議:不建議禁用,因為很多程序需要使用 ,比如:

1<?php

2ini_set("error_reporting","E_ALL & ~E_NOTICE");//設(shè)置 PHP的報錯級別并返回當前級別。

3?>

危險等級:高

ini_alter()

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

危險等級:高

ini_restore()

功能描述:可用于恢復(fù) PHP 環(huán)境配置參數(shù)到其初始值。

危險等級:高

dl()

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

危險等級:高

pfsockopen()

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

危險等級:高

symlink()

功能描述:在 UNIX 系統(tǒng)中建立一個符號鏈接。

危險等級:高

popen()

功能描述:可通過 popen() 的參數(shù)傳遞一條命令,并對 popen() 所打開的文件進行執(zhí)行。

危險等級:高

putenv()

功能描述:用于在 PHP 運行時改變系統(tǒng)字符集環(huán)境。在低于 5.2.6 版本的 PHP 中,可利用該函數(shù) 修改系統(tǒng)字符集環(huán)境后,利用 sendmail 指令發(fā)送特殊參數(shù)執(zhí)行系統(tǒng) SHELL 命令。

危險等級:高

fsockopen()

功能描述:一個可以實現(xiàn)遠程登錄訪問的函數(shù),也容易被黑客利用進行PHPDDOS攻擊。phpddos原理是向外發(fā)upd包,curl當然也可以,但默認情況下fsockopen可用,curl不默認加載。

危險等級:高

禁用方法:

打開php.ini文件, 查找到disable_functions,在等于號(=)后面添加需禁用的函數(shù)名,如下:

syslog,readlink,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,symlink,popen,putenv,fsocket,fsockopen

1 disable_functions =syslog,readlink,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,symlink,popen,putenv,fsocket,fsockopen

disable_functions =syslog,readlink,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,symlink,popen,putenv,fsocket,fsockopen

到此這篇關(guān)于PHP危險函數(shù)禁用深入詳解的文章就介紹到這了,更多相關(guān)PHP危險函數(shù)禁用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/207027.htm

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)文章

熱門排行

信息推薦