PHP的漏洞-如何防止PHP漏洞
漏洞無非這麼幾類,XSS、sql注入、命令執行、上傳漏洞、本地包含、遠程包含、權限繞過、信息泄露、cookie僞造、CSRF(跨站請求)等。下面是小編爲大家帶來的關於PHP的漏洞的知識,歡迎閱讀。
+ sql注入
其中佔大頭的自然是XSS與SQL注入,對於框架類型或者有公共文件的,建議在公共文件中統一做一次XSS和SQL注入的`過濾。用PHP寫個過濾函數,可由如下所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_POST);
$_COOKIE = filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_COOKIE);
$_REQUEST = filter_sql($_REQUEST);
最簡單的filter_xss函數是htmlspecialchars()
最簡單的filter_sql函數是mysql_real_escape_string()
當然,誰都知道這種過濾filter_sql只能過濾字符型和搜索型的注入,對於數字型是沒有辦法的,但也說明做了這層過濾後,只需在後面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。
2. 命令執行
對於命令執行,可以從關鍵字入手,總共可分爲3類
(1) php代碼執行 :eval等
(2)shell命令執行:exec、passthru、system、shell_exec等
(3) 文件處理:fwrite、fopen、mkdir等
對於這幾類需要注意其參數是否用戶可控。
3.上傳漏洞
對於上傳漏洞,也是重點關注的地方,要仔細分析它的處理流程,針對上傳的繞過方式是很多的,最保險的方式:在保存文件是採用文件名隨機命名和後綴白名單方式。其次要注意的一點是上傳文件的地方可能不止一處,不要有遺漏,可能會碰到這樣的情況,突然在某個目錄裏面包含了一個第三方的編輯器在裏面。
文件包含漏洞涉及的函數如include() 、include_once()、require()、require_once()、file_get_contents()等
最常見的還是出在下載文件功能函數,例如 這種類型中。
4. 權限繞過
權限繞過可分爲兩類吧
(1)後臺文件的未授權訪問。後臺的文件沒有包含對session的驗證,就容易出現這樣的問題
(2)未作用戶隔離,例如顯示了你的信件,那麼換個ID, 就查看到了別人的信件,編寫代碼是方便,把信件都存在一個數據表裏,id統一編號,前端展現時只需按id取出即可,但未作用戶隔離,判定歸屬,容易造成越權訪問。
這樣的例子是很常見的,給某銀行做評估是就經常發現這種漏洞。
5. 信息泄露
信息泄露算是比較低危的漏洞了,比如列目錄這種就屬於部署問題,而與代碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的代碼
相關文章
-
php防止sql注入漏洞過濾函數的代碼
php的整站防sql注入程序,在公共文件中require_once本文件即可,感興趣的朋友可以參考下。複製代碼 代碼如下:<?PHP//PHP整站防注入程序,需要在公共文件中require_once本文件//判斷magic_quotes_gpc狀態if (@get_magic_quo -
PHP常見漏洞的防範措施
目前,基於PHP的網站開發已經成爲目前網站開發的主流,下面整理了一些PHP常見漏洞的防範措施,希望對大家有所幫助! 1、對於Session漏洞的防範從前面的分析可以知道,Session攻擊最常見的就是會話劫持,也就是黑客通過各種攻 -
PHP網站常見的安全漏洞
目前PHP網站常見的漏洞有五種,分別是Session文件漏洞、SQL注入漏洞、腳本命令執行漏洞、全局變量漏洞和文件漏洞。下面爲大家簡單介紹一些。 1、session文件漏洞Session攻擊是黑客最常用到的攻擊手段之一。當一個用 -
PHP頁面漏洞分析的方法
PHP漏洞大致分爲以下幾種:包含文件漏洞,腳本命令執行漏洞,文件泄露漏洞,SQL注入漏洞等幾種。以下是小編爲大家搜索整理的PHP頁面漏洞分析的方法,歡迎大家閱讀!更多精彩內容請及時關注我們應屆畢業生考試網!首先,我們來討論 -
PHP漏洞:命令注入攻擊
計算機程序中都會有漏洞,那麼在PHP中該怎麼防止注入攻擊呢?下面是小編整理的解決辦法,希望對大家有用,更多消息請關注應屆畢業生網。 命令注入攻擊,PHP中可以使用下列5個函數來執行外部的應用程序或函數 system -
常見php頁面漏洞分析及相關問題解決
從現在的網絡安全來看,大家最關注和接觸最多的WEB頁面漏洞應該是ASP了,在這方面,小竹是專家,我沒發言權.然而在PHP方面來看,也同樣存在很嚴重的安全問題,但是這方面的文章卻不多.在這裏,就跟大家來稍微的討論一下PHP -
如何實現PHP獲取表單數據與HTML嵌入PHP腳本
保證食品安全,保障廣大羣衆的身體健康和合法權益,下面是小編精心整理的食品安全責任書,希望能給大家帶來幫助!食品安全責任書(一)根據《中華人民共和國食品衛生法》和政府、有關部門關於食品衛生監督、管理的文件精神同 -
PHP面試之php自帶的幾個防止sql注入的函數
畢業季又到了,同學們是不是正爲此煩惱呢?以下是本站小編精心爲大家整理的PHP面試之php自帶的幾個防止sql注入的函數,希望對大家有所幫助!更多內容請關注應屆畢業生網!SQL注入攻擊是黑客攻擊網站最常用的手段。如果你的 -
PHP是做什麼的 如何學習PHP
許多學PHP的人一直也搞不清楚,一個PHP程序員和Java程序員或者是程序員有什麼不同,告訴你,其實都一樣,沒有什麼不同。下面的內容,就是針對一個Java程序員掌握的技能對比PHP來說的!告訴你,它們其實是一樣的,不過是工具而已,沒有 -
2017年PHP入門指導-如何學習PHP
用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代