天天看點

Magento存在XSS漏洞,線上商城可被攻擊者操控

magento是一套開源的電子商務系統,是主要面向企業的應用,可處理電子商務各方面的需求,包括像購物、航運、産品評論等等,最終為建設一個多用途和适用面廣的電子商務網站提供幫助。

Magento存在XSS漏洞,線上商城可被攻擊者操控

  magento項目小組目前已經釋出更新檔,修複magento上一個高危的安全漏洞。

漏洞資訊

這個漏洞是一個存儲型xss,是安全廠商sucuri于2015年11月10日發現的,可實施攻擊的場景為:當使用者注冊一個新賬戶時或者當使用者更改目前賬戶的郵件位址時等涉及到郵箱賬号送出的場景。

該問題關鍵在于cms(内容管理系統)如何過濾在使用者側輸入的包含郵件位址資訊的資料。據sucuri的研究發現,magento并沒有有效地對郵件位址中可能存在的惡意字元進行過濾。

這種不安全的資料過濾機制能夠讓攻擊者在輸入電子郵箱的同時附加上惡意代碼。

漏洞分析

這個問題存在于magento中的app/design/adminhtml/default/default/template/sales/order/view/info.phtml

Magento存在XSS漏洞,線上商城可被攻擊者操控

正如從上面的代碼段中看到的,template會将getcustomeremail方法的傳回值(即使用者填入的郵箱位址)傳遞到管理面闆上。而繼續我們的分析,在以下代碼段中也有所發現:

Magento存在XSS漏洞,線上商城可被攻擊者操控

  根據上述的代碼段編寫的規則,magento可以接受兩種不同的郵件格式:

1、一種較為常見,沒有雙引号,沒有“<”符号等等; 2、另外一種,為引用字元串格式,它幾乎可以接受任何可列印字元,隻要輸入資料的周圍有兩個雙引号。

此刻,從理論上,我們嘗試使用比如“>”@sucuri.net作為使用者賬号郵箱,送出一個訂單,接着觀察當管理者在背景管理面闆上檢視我們送出的訂單時會發生什麼情況?

上圖的結果證明了我們的猜測,magento确實存在一個xss漏洞。

漏洞的易利用性

正如前面的poc結果展示的,如果攻擊者接着利用像上述所說的帶有惡意代碼的郵箱位址的賬戶下了一個訂單,當網站管理者在背景打開這個訂單時,那麼惡意代碼将會執行。而基于攻擊的原理,該漏洞其實對于任何攻擊者來說都是容易掌握利用的。

比如js代碼能被用于通路cookies,是以攻擊者可以通過竊取管理者的cookies,随後用于非法通路站點。當然,也可以實施其他的攻擊,攻擊的方式也取決于攻擊者的技術能力。

wordpress站點此前也面臨同樣問題

從原理上來看, 該漏洞類似于sucuri在10月份發現的存在于 jetpack wordpress

plugin的一個xss漏洞。jetpack wordpress

plugin的xss漏洞同樣也是攻擊者可以通過将惡意代碼附加到郵箱位址,并通過回報的形式發送到背景,是以導緻在背景執行惡意代碼。

受影響版本

目前受影響的版本包括magento 社群版1.9.2.3及更早版本,magento 企業版 1.14.2.3及更早版本,目前的2.x版本并未受該問題的影響。

如果還運作着magento的老版本,網站管理者需盡快更新線上商城。

本文轉自d1net(轉載)

繼續閱讀