目前安裝在200,000多個(gè)網(wǎng)站上的廣告插入器WordPress插件中發(fā)現(xiàn)的一個(gè)嚴(yán)重安全問題允許經(jīng)過身份驗(yàn)證的攻擊者遠(yuǎn)程執(zhí)行PHP代碼。
廣告插播器是一個(gè)“廣告管理插件,具有許多高級廣告功能,可以在最佳位置插入廣告”,并且支持“各種廣告,包括Google AdSense,Google廣告管理系統(tǒng)(DFP廣告管理系統(tǒng) - DFP廣告管理系統(tǒng)),上下文亞馬遜原生購物廣告,Media.net和旋轉(zhuǎn)橫幅!

濫用CSRF保護(hù)功能
該漏洞源于使用check_admin_referer()進(jìn)行授權(quán),當(dāng)時(shí)它專門用于保護(hù)WordPress站點(diǎn)免受使用nonce的跨站點(diǎn)請求偽造(CSRF)攻擊 - 一次性令牌用于阻止過期和重復(fù)請求。
WordPress官方文檔網(wǎng)站不鼓勵這種做法,即“絕不應(yīng)該依賴Nonce進(jìn)行身份驗(yàn)證或授權(quán),訪問控制”。
該漏洞被認(rèn)為是關(guān)鍵漏洞,會影響所有安裝了廣告插入器插件版本2.4.21或更低版本的WordPress網(wǎng)站。
要解決此問題,WordPress管理員應(yīng)將其更新到版本2.4.22,該版本是在收到安全漏洞通知后一天內(nèi)由插件開發(fā)人員發(fā)布的。
“弱點(diǎn)允許經(jīng)過身份驗(yàn)證的用戶(訂閱者及以上用戶)使用該插件在網(wǎng)站上執(zhí)行任意PHP代碼,”根據(jù)發(fā)現(xiàn)Ad Inserter插件關(guān)鍵錯誤的Wordfence研究人員的說法。
濫用廣告插播器插件
獲取nonce的經(jīng)過身份驗(yàn)證的攻擊者可以繞過由check_admin_referer()函數(shù)驅(qū)動的授權(quán)檢查,以訪問Ad Inserter插件提供的調(diào)試模式。
“通常情況下,這些調(diào)試功能僅供管理員使用,并且當(dāng)啟用某些選項(xiàng)時(shí),幾乎每個(gè)頁面都會包含一個(gè)java script塊。該java script包含ai_ajax_backend操作的有效nonce,” Wordfence 解釋說。

但是,一旦攻擊者擁有一個(gè)nonce可供他使用,他就可以立即觸發(fā)調(diào)試功能,甚至更危險(xiǎn),“通過發(fā)送包含任意PHP代碼的惡意負(fù)載來利用廣告預(yù)覽功能。”
插件開發(fā)人員于7月13日發(fā)布了2.4.22補(bǔ)丁程序https://wordpress.org/plugins/ad-inserter/#developers,并在7月12日收到安全漏洞通知后修復(fù)了經(jīng)過身份驗(yàn)證的遠(yuǎn)程執(zhí)行漏洞。
如廣告插入器插件的Wordpress市場條目所示,在超過200,000個(gè)網(wǎng)站的安裝基礎(chǔ)上,只有超過50,000個(gè)網(wǎng)站安裝它,直到這個(gè)故事發(fā)布。