安全動(dòng)態(tài)

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

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

信息來源:4hou

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

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

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

漏洞詳情

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

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

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

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

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

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

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

影響范圍

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

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

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

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

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

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

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

反思

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

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

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

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

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

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

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

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

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

代碼中的中文頓號(hào)

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

安全人員的吐槽

修復(fù)方案

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

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

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

 
 

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

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