WordPress插件YITH WooCommerce Wishlist SQL注入漏洞

責任編輯:editor006

作者:secist

2018-01-20 17:36:44

摘自:黑客與極客

作為我們對Sucuri防火墻定期研究審計的一部分,我們發(fā)現(xiàn)了一個愿望清單插件YITH WooCommerce Wishlist,存在SQL注入漏洞。

作為我們對Sucuri防火墻定期研究審計的一部分,我們發(fā)現(xiàn)了一個愿望清單插件YITH WooCommerce Wishlist,存在SQL注入漏洞。據(jù)統(tǒng)計,該插件目前至少已被50000+的wordpress站點安裝使用。

受影響范圍

這個漏洞主要出現(xiàn)在2.2.0版本以下,主要是因為該版本缺少對用戶輸入數(shù)據(jù)進行嚴格過濾措施。攻擊者(至少有一個用戶帳戶)可能會利用該缺陷盜取用戶敏感數(shù)據(jù),甚至通過某些配置項危害你整個的WordPress安裝。

需要提醒的是在MySQL版本低于5.7的服務器中,該漏洞極易被利用。

這個漏洞有個非常有意思的地方,也是我們決定要發(fā)布該安全公告的原因,就是使用這個插件的站點通常會啟用免費“用戶注冊”功能,以允許用戶的偏好(例如愿望清單)被存儲和訪問,以便后續(xù)使用。

技術(shù)細節(jié)

產(chǎn)生漏洞的代碼,可在2.1.2版本中的includes/class.yith-wcwl-shortcode.php的第523行中找到。這段代碼是get_products()函數(shù)的一部分,用于返回特定用戶的所有wishlist元素:

1vulnerable_code1-1-768x413.png

如果攻擊者控制了$limit變量,就可以為其賦任意值。例如構(gòu)建一個查詢語句。這樣攻擊者將有可能直接獲取走,幾臺服務器上的所有敏感數(shù)據(jù)。例如加密哈希和電子郵件等。

攻擊者想要達到構(gòu)建查詢的目的必須滿足以下條件:

分頁值必須為“yes”

count變量必須大于1(此變量存儲特定用戶的wishlist元素數(shù)量)

limit變量必須被設置

攻擊者可以通過 includes/class.yith-wcwl-shortcode.php中定義的短代碼yith_wcwl_wishlist來滿足所有這些條件:

3vulnerable_code3-1-768x447.png

攻擊者唯一要做的就是創(chuàng)建一個用戶帳戶,并調(diào)用漏洞短代碼(具體可以參考我們此前的文章)。

緊急措施

檢查你的插件版本,并盡快將其更新到最新版!

如果由于某種原因你無法升級,我們建議你使用Sucuri或其它WAF來保障你的站點安全。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號