wordpress系統本身代碼,很少出現SQL注入漏洞,反倒是第三方的插件出現太多太多的漏洞,我們發現,僅僅2019年9月份就出現8個插件漏洞,因為第三方開發的插件,技術都參差不齊,對安全方面也不是太懂導緻寫代碼過程中沒有對sql注入,以及xss跨站進行前端安全過濾,才導緻發生sql注入漏洞。
目前發現的wordpress漏洞插件,AdRotate廣告插件,NextGEN Gallery圖片管理插件,Give贊賞插件,這些插件使用的網站數量較多,因為開源,免費,功能強大,使用簡單,深受衆多站長們的喜歡,關于該網站漏洞的詳情我們SINE安全來詳細的給大家分析一下:看下圖的代碼
在前端進行輸入的時候,可以插入惡意的sql注入代碼,如果後端沒有對前端輸入進來的參數值進行安全過濾攔截,那麼就會導緻sql注入漏洞的發生,我們來看上面的一段代碼。該代碼在寫的時候,會将get中的ID,傳入後數據庫中進行查詢,沒有做任何的安全過濾導緻sql注入,在wordpress最新版中以及将get、post、cookies、提交的方式進行了安全攔截,對一些非法的字符與sql注入攻擊語句加強過濾,但是還是被繞過,導緻sql注入的發生,就拿adrotate插件來說,在dashboard目錄下的publisher文件夾下的adverts-edit.php代碼中第46行:
對前端來的get_ad變量隻是做了簡單的html字符轉換操作,并沒有實質性的對sql語句進行攔截,導緻可以執行SQL注入代碼,獲取管理員賬戶密碼。截圖如下:
give插件,也存在漏洞,漏洞産生的原因是includes目錄下的donors文件夾裡的class-give-donors-query.php代碼,在獲取訂單的函數中,沒有對其order by字符進行攔截,導緻sql代碼可以到後端進行查詢數據庫,導緻sql盲注。代碼如下:
關于wordpress漏洞修複辦法,建議插件的開發公司在對代碼編寫過程中,對用戶的輸入,以及提交,get,post等請求進行全面的安全過濾與安全效驗,及時的更新wordpress的版本以及插件版本升級,定期對網站代碼進行安全檢測,檢查是否存在網站木馬後門,以及webshell文件,對插件目錄可以設置安全權限部署,防止惡意篡改,對wordpress的後台登錄做安全驗證,僅僅使用賬戶密碼還不行,還要使用另外一種方式進行驗證,短信驗證以及google身份驗證器。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!