1. 程式人生 > >PHP微信支付----xxe攻擊

PHP微信支付----xxe攻擊

這兩天,微信支付有bug的訊息迅速傳播,那這個到底是什麼導致的呢:

微信支付後回撥通知的xml檔案中,被人惡意新增資料,導致返回資訊不準確,微信有官方文件說明:點選開啟連結

我們專案用的是PHP作為開發語言,接到領導通知要我看看我們的專案有沒有受影響,可是,這個支付功能是很久以前就寫好的,而我才來不久,也沒接觸過微信支付的功能,心中已淚千行, 不知從何下手大哭

於是,就瘋狂找資料,瞭解到,微信官方提出的解決方案為一個函式:libxml_disable_entity_loader(true); //防止引入外部xml檔案,那麼,它具體要被加到哪裡呢,很疑惑。。。。

看了資料,關於xml和array相互轉換,在xml資料轉換為array時,要加這一個函式:

點選開啟連結

後來,又看資料說更新一下微信支付的sdk包,因為微信的sdk已修復了這個bug,這下,終於找到地方了大笑

下載最新安裝包後,就與線上的舊sdk進行對比,最後發現新sdk,lib/WxPay.Data.php中新增libxml_disable_entity_loader(true)函式