wordpress系統(tǒng)本身代碼,很少出現(xiàn)sql注入漏洞,反倒是第三方的插件出現(xiàn)太多太多的漏洞,我們SINE安全發(fā)現(xiàn),僅僅2019年9月份就出現(xiàn)8個插件漏洞,因為第三方開發(fā)的插件,技術(shù)都參差不齊,對安全方面也不是太懂導(dǎo)致寫代碼過程中沒有對sql注入,以及xss跨站進行前端安全過濾,才導(dǎo)致發(fā)生sql注入漏洞。
目前發(fā)現(xiàn)的wordpress漏洞插件,AdRotate廣告插件,NextGEN Gallery圖片管理插件,Give贊賞插件,這些插件使用的網(wǎng)站數(shù)量較多,因為開源,免費,功能強大,使用簡單,深受眾多站長們的喜歡,關(guān)于該網(wǎng)站漏洞的詳情我們SINE安全來詳細(xì)的給大家分析一下:看下圖的代碼
在前端進行輸入的時候,可以插入惡意的sql注入代碼,如果后端沒有對前端輸入進來的參數(shù)值進行安全過濾攔截,那么就會導(dǎo)致sql注入漏洞的發(fā)生,我們來看上面的一段代碼。該代碼在寫的時候,會將get中的ID,傳入后數(shù)據(jù)庫中進行查詢,沒有做任何的安全過濾導(dǎo)致sql注入,在wordpress最新版中以及將get、post、cookies、提交的方式進行了安全攔截,對一些非法的字符與sql注入攻擊語句加強過濾,但是還是被繞過,導(dǎo)致sql注入的發(fā)生,就拿adrotate插件來說,在dashboard目錄下的publisher文件夾下的adverts-edit.php代碼中第46行:
對前端來的get_ad變量只是做了簡單的html字符轉(zhuǎn)換操作,并沒有實質(zhì)性的對sql語句進行攔截,導(dǎo)致可以執(zhí)行SQL注入代碼,獲取管理員賬戶密碼。截圖如下:
give插件,也存在漏洞,漏洞產(chǎn)生的原因是includes目錄下的donors文件夾里的class-give-donors-query.php代碼,在獲取訂單的函數(shù)中,沒有對其order by字符進行攔截,導(dǎo)致sql代碼可以到后端進行查詢數(shù)據(jù)庫,導(dǎo)致sql盲注。代碼如下:
關(guān)于wordpress漏洞修復(fù)辦法,建議插件的開發(fā)公司在對代碼編寫過程中,對用戶的輸入,以及提交,get,post等請求進行全面的安全過濾與安全效驗,及時的更新wordpress的版本以及插件版本升級,定期對網(wǎng)站代碼進行安全檢測,檢查是否存在網(wǎng)站木馬后門,以及webshell文件,對插件目錄可以設(shè)置安全權(quán)限部署,防止惡意篡改,對wordpress的后臺登錄做安全驗證,僅僅使用賬戶密碼還不行,還要使用另外一種方式進行驗證,短信驗證以及google身份驗證器。
友情提示:A5官方SEO服務(wù),為您提供權(quán)威網(wǎng)站優(yōu)化解決方案,快速解決網(wǎng)站流量異常,排名異常,網(wǎng)站排名無法突破瓶頸等服務(wù):http://www.admin5.cn/seo/zhenduan/
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!