洞,我們ESAFE安全發現,僅僅2019年9月份就出現8個外掛程式漏洞,因為協力廠商開發的外掛程式,技術都
參差不齊,對安全方面也不是太懂導致寫代碼過程中沒有對sql注入,以及xss跨站進行前端安全過
濾,才導致發生sql注入漏洞。

目前發現的wordpress漏洞外掛程式,AdRotate廣告外掛程式,NextGEN Gallery圖片管理外掛程式,Give贊
賞外掛程式,這些外掛程式使用的網站數量較多,因為開源,免費,功能強大,使用簡單,深受眾多站長
們的喜歡,關於該網站漏洞的詳情我們ESAFE安全來詳細的給大家分析一下:看下圖的代碼

在前端進行輸入的時候,可以插入惡意的sql注入代碼,如果後端沒有對前端輸入進來的參數值進
行安全過濾攔截,那麼就會導致sql注入漏洞的發生,我們來看上面的一段代碼。該代碼在寫的時
候,會將get中的ID,傳入後資料庫中進行查詢,沒有做任何的安全過濾導致sql注入,在wordpre
ss最新版中以及將get、post、cookies、提交的方式進行了安全攔截,對一些非法的字元與sql注
入攻擊語句加強過濾,但是還是被繞過,導致sql注入的發生,就拿adrotate外掛程式來說,在dashb
oard目錄下的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身份驗證器。