2023-02-28 分類: 網(wǎng)站建設
最近比較火的是微信支付接口存在XML外部實體注入漏洞(XML External Entity Injection,簡稱 XXE)。該安全問題是由XML組件默認沒有禁用外部實體引用導致,黑客可以偽造一個請求讓支付商戶誤以為訂單支付了,其實訂單并沒有支付,這樣黑客就可以0元買任何商品。
這個漏洞是在微信支付接口通知是否支付的環(huán)節(jié)出現(xiàn)漏洞。主要發(fā)生在以下場景。
場景1:支付成功通知;
場景2:退款成功通知;
場景3:委托代扣簽約、解約、扣款通知;
場景4:車主解約通知;
這個漏洞影響性還是蠻大的,可以直接導致商家金錢損失,尤其是有微信支付功能模塊的自動發(fā)貨的系統(tǒng)及銷售虛擬商品的商城。
黑客能利用這個漏洞的條件有兩個:
一、知道怎么使用XML外部實體注入漏洞;(因為漏洞已經(jīng)被公開,大家都知道,可恨的是很多人把攻擊的方式都公開了?。。?!)
二、知道微信支付通知的地址;(這個開源建站系統(tǒng)因為源代碼是公開的,所以基本不用猜都知道,而定制建站系統(tǒng)則比較難猜,所以定制建站系統(tǒng)還有一層防護)
所以對于開源建站系統(tǒng),源代碼大家都知道,微信支付通知的地址自然是清楚了,這也暴露了很多開源建站系統(tǒng)的軟肋,創(chuàng)新互聯(lián)建議:做網(wǎng)站還是建議采用定制建站,就算出現(xiàn)漏洞,因為代碼不開源,所以自然而然多一重安全保障。
這個漏洞如何修補呢?
如果是PHP網(wǎng)站,非常簡單,一句話解決libxml_disable_entity_loader(true);
如下代碼示例:
//將XML轉為array
function xmlToArray($xml) {
//禁止引用外部xml實體 libxml_disable_entity_loader(true);
$values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $values;
}
如果是ASP.NET網(wǎng)站
【.Net】
XmlDocument doc= new XmlDocument();
doc.XmlResolver = null;
微信官方也給每個商戶推送了這個接口安全漏洞,也給出了各個程序語言的修復方法,APP SDK 不受影響,主要還是網(wǎng)站。
如果你是商家,這個漏洞還沒有修復,建議財務對每一筆訂單進行二次審核,通過登錄微信支付管理后臺查看訂單數(shù)據(jù),再次審核訂單支付是否真實來決定是否發(fā)貨。
如果你是創(chuàng)新互聯(lián)的客戶,那么你不用擔心,我們技術會免費為你修補這個漏洞。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設、微信小程序、APP開發(fā),目前在成都和廣州均有分公司,歡迎廣大客戶咨詢400-028-6601!
分享名稱:微信支付接口存在XML解析安全漏洞
本文地址:http://jinyejixie.com/news/240264.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、移動網(wǎng)站建設、自適應網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站內鏈、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容