安全動態(tài)

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

來源:聚銘網(wǎng)絡(luò)    發(fā)布時間:2018-07-05    瀏覽次數(shù):
 

信息來源:4hou

7月3日,一位名為1024rosecode的疑似外國安全人員在Twitter上聯(lián)系360Netlab及趨勢科技,并公開了一篇名為《微信支付SDK中的XXE漏洞 》(XXE in WeChat Pay Sdk ( WeChat leave a backdoor on merchant websites))的文章。

在文章中,該安全人員稱:

在使用微信支付時,商家需要提供一個接收通知的網(wǎng)址,用來接受異步付款信息。不過,在此時的Java版SDK中,有一個XXE漏洞。此次曝光的漏洞一旦被利用,可根據(jù)需要竊取商家服務(wù)器的任何信息。一旦攻擊者獲得商家的關(guān)鍵安全密鑰(md5-key和merchant-Id等),甚至可以通過發(fā)送偽造信息來欺騙商家而無需付費購買任何東西。

漏洞詳情

為了證明這個漏洞的存在,他將該漏洞的使用方法公之于眾了。

攻擊者通過偽裝成“微信支付商戶平臺”,向驗證地址發(fā)送惡意請求,并直接代替“商戶平臺”與商戶進行通信,然后遵循微信支付SDK原有的規(guī)則進行“支付”。

這個漏洞不僅僅是影響到了支付本身,如果商戶的安全措施做的不好,攻擊者還可以調(diào)取該服務(wù)器上的文件,從而導(dǎo)致商戶的核心商業(yè)機密和用戶信息泄露。

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

在1024rosecode的代碼中還以陌陌和vivo的微信支付接口為例,展示了實際漏洞的應(yīng)用:通過微信接口的漏洞去讀取了商戶支付接口服務(wù)器上的文件。

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

影響范圍

到目前為止,微信支付被曝技術(shù)漏洞這一事件雖然沒有造成嚴重的后果,但此事使很多安全問題浮出水面。微信雖然在第一時間進行了及時的響應(yīng),并在微信商戶平臺對商戶進行關(guān)于如何避免相關(guān)的安全問題指引,在接受媒體采訪時也稱“微信已經(jīng)修復(fù)了相關(guān)漏洞”。不過,這個漏洞所影響的實際的是微信支付數(shù)百萬的商戶,他們真的沒有風險了嗎?

微信支付方面更新了JavaSDK,可是由于商戶平臺并非需要每天登陸,導(dǎo)致平臺上的很多商戶可能并不知曉有此更新,甚至有些集成商戶由于集成商沒有任何通知,導(dǎo)致他們至今還不知道該如何是好。

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

嘶吼小編聯(lián)系了一位獲得過千萬融資的CEO,他曾經(jīng)自己開發(fā)過一套在線銷售平臺來銷售自己的產(chǎn)品,是一位業(yè)內(nèi)資深開發(fā)者。在嘶吼小編問起他是否聽說過這個漏洞時,他第一反應(yīng)是沒有聽說。

從代碼層面,雖然看起來這個漏洞不是高危漏洞,但是由于其影響范圍非常大,第三方開發(fā)時如果直接復(fù)制了微信官這段方代碼,便會有這個驗證漏洞。而且,由于基于xml格式的消息都有這類隱患,即便是在服務(wù)本身,也有可能出現(xiàn)這種問題。

此外,一旦攻擊者獲取到了商家的關(guān)鍵安全密鑰(md5-key和merchant-Id等),商家要重置密鑰,會存在重置的停滯時間,如果業(yè)務(wù)線過長,或者每個渠道都有單獨的密鑰,這將是一個不小的工程。

隨著“互聯(lián)網(wǎng)+”概念的遍地開花,無數(shù)“微服務(wù)”業(yè)務(wù)如雨后春筍般出現(xiàn),比較常見的例如線下吃飯點餐、便利店購物、快捷家政服務(wù)等等,倘若這個漏洞在這些方面被惡意利用,定將對這些在支付接口上使用了微信支付老版本JavaSDK的O2O平臺造成嚴重的影響,甚至會因此導(dǎo)致他們倒閉跑路。

反思

首先,為安撫民心,是否對漏洞的危害性有所保留?該漏洞的曝出,無疑給商戶和消費者帶來了恐慌。雖然有網(wǎng)絡(luò)支付安全專家表示,

該漏洞只存在于微信支付Java版本的SDK中,并且電商的安全防護及權(quán)限設(shè)置較高,完整攻擊行為還存在較大的局限性。

但小編認為這顯然是要給民眾打一針強心劑。由于微信的龐大體系,所以此事牽涉的商戶非常廣泛,相信使用微信支付老版本JavaSDK的商戶不在少數(shù),并且“實現(xiàn)完整的攻擊存在較大的局限性”并不代表可以完全杜絕濫用的情況,相信大多數(shù)的商戶防御措施并不強大,如果攻擊者有目的的針對某個使用老版本JavaSDK的商戶進行攻擊,加之商戶忽略了其防護,難免會給攻擊者留下可趁之機。如果攻擊者成功實現(xiàn)了完整的攻擊,那么不僅僅會給商戶帶來滅頂之災(zāi),甚至還有可能威脅到消費者信息等數(shù)據(jù)內(nèi)容泄漏。

其次,漏洞披露后的回應(yīng)態(tài)度是否讓人信服?漏洞曝出不久后,騰訊回應(yīng)稱已修復(fù)該漏洞。之后,騰訊又進一步回復(fù)稱,

事實上,該漏洞為常見漏洞,只要在程序接收到XML數(shù)據(jù)進行解析之前,調(diào)用相關(guān)的函數(shù)關(guān)閉XML語言的上述特性即可有效防范和解決。目前已經(jīng)啟動商戶的安全提示,提示商戶主動排查其自建系統(tǒng)是否存在該漏洞,并給出修復(fù)指引進行協(xié)助。

騰訊還表示,此次問題服務(wù)器端SDK的實際影響范圍不大,完全可控。

此事真的像騰訊回應(yīng)的那么簡單嗎?當小編看到“完全可控”這四個字時,不禁眉頭一緊。真的是完全可控嗎?相信做安全的都會知道,只要有開發(fā),必定難以避免漏洞的出現(xiàn)。這是網(wǎng)絡(luò)科技進步必經(jīng)之路,在網(wǎng)絡(luò)安全中,沒有“絕對安全”的說法。希望騰訊方面還會不斷的跟蹤此事,與隱患的商家聯(lián)系,做好后續(xù)的防護工作,用實際的行動來真正的讓消費者及商戶感到安心。

最后,還有一點小插曲,爆出這個漏洞的安全人員在爆料時是完全使用英語的,但是同樣細心的安全研究員在研究爆料文章的過程中發(fā)現(xiàn),這段代碼有很多的文字使用的是中文字符,有理由判定這人是國人。

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

代碼中的中文頓號

微信支付曝“0元購”漏洞,官方稱已修復(fù),實際風險隱患巨大

安全人員的吐槽

修復(fù)方案

首先,請所有使用微信支付商戶平臺SDK的開發(fā)者們從商戶平臺更新最新版的SDK,并根據(jù)《關(guān)于XML解析存在的安全問題指引》進行第一時間的維護。

其次,為了盡可能的避免損失,保障數(shù)據(jù)和資金安全,應(yīng)及時更換密鑰,并檢查服務(wù)器是否有非正常文件讀取等特殊情況。

為了各位O2O商戶的血汗錢,在這里,嘶吼的安全專家建議廣大微信支付商戶,尤其是自開發(fā)和使用第三方開發(fā)商的商戶,及時進行核查和修復(fù),并進行及時的對賬和安全加固。

 
 

上一篇:2018年07月04日 聚銘安全速遞

下一篇:智能網(wǎng)聯(lián)汽車:成功之路在何方?