聚合支付結算平臺 通道資料被黑客篡改如何解決

網站安全發表於2020-01-22

2020春節即將來臨,收到新聚合支付平臺網站客戶的求助電話給我們Sinesafe,反映支付訂單狀態被修改由原先未支付修改為已支付,導致商戶那邊直接發貨給此訂單會員了,商戶和平臺的損失較大,很多碼商都不敢用此支付平臺了,為了防止聚合支付系統繼續被攻擊,我們SINE安全大體情況瞭解後,立即安排從業十年的安全工程師,成立聚合、通道支付平臺安全應急響應小組。

聚合支付結算平臺 通道資料被黑客篡改如何解決

分析並瞭解支付過程

我們Sinesafe對整個第三方支付平臺網站的流程進行了分析如下,平臺首先要對接到上游支付通道,然後由上游支付通道返回支付狀態回撥到平臺,然後由平臺的狀態返回給商戶(也就是碼商),首先碼商註冊好平臺的商家使用者,然後從商家使用者後臺獲取介面對接程式與碼商自己的網站進行對接除錯,如果商家會員對訂單進行了支付,如果支付成功會回從平臺獲取支付狀態,而平臺去從上游通道獲取狀態來回撥到自身平臺,目前大部分的介面都是一些PDD通道以及個人二維碼對接的企業通道,俗稱為聚合支付。

聚合支付結算平臺 通道資料被黑客篡改如何解決

支付漏洞安全原因症狀

1.發現在碼商下的會員訂單並未成功支付導致在平臺這裡的支付狀態被黑客修改為已支付,從而回撥資料給商戶說明已經支付了,導致訂單是成功的狀態,商家不得不發貨給會員(也就是上分給會員)從而惡意提現導致商家損失嚴重。

2.發現商戶申請提現這裡的收款人資訊被篡改,導致商戶的資金被冒領。很多碼商對這一點是非常重視的,幾乎都是日結算。而且平臺每天放量都是有數量的,幾乎都是集團下的在收量,對於資金這一塊非常敏感而重視。

3.發現有些訂單被刪除,導致對賬對不起來總是商戶結算和上游通道結算的金額不對應,導致盈利少,其實這是因為黑客把訂單刪除了而商戶的成功金額是增加的,但上游通道里的金額是不增加的。

網站漏洞安全日誌檢查分析

瞭解上述的問題後,知道了具體的問題發生症狀以及支付的整個流程,安排Sine安全工程師團隊小組快速響應處理找出漏洞問題關鍵,把客戶的損失降到最低,隨即登入了支付平臺網站伺服器對程式程式碼做了審計和分析,發現程式用的是TP架構(thinkphp)管理後臺和前端都是在一起的,對程式程式碼功能函式做了對比看支付過程中的函式有無被誇許可權呼叫,發現後臺登入這裡被做了手腳可以通過內建的函式去任意登入不需要任何密碼,如圖:

聚合支付結算平臺 通道資料被黑客篡改如何解決

通過get此函式admin_login_test123可以直接任意登入後臺。發現這只是其中一點,後臺登入後可以設定訂單的狀態,但黑客的手法不是這樣操作的,因為從後臺手動改狀態的話那麼在支付成功的狀態這裡的資料庫表會增加一個data時間戳,而黑客篡改支付的狀態是沒有這個時間戳的,說明不是通過後臺去修改的,是通過直接執行sql語句或直接修改資料庫才達到的,知道問題原因後分析了下程式其他檔案看是否有指令碼後門,果真發現了phpwebshell後門,其中有好幾個後門都是可以直接操作mysql資料庫如下:

聚合支付結算平臺 通道資料被黑客篡改如何解決

發現程式裡有不少的後門檔案以及隱蔽一句話後門木馬,通過我們SINE工程師的滲透測試服務發現商戶功能圖片上傳存在漏洞可以任意上傳php格式的後門檔案,導致被入侵,發現在訂單查詢功能中存在SQL隱碼攻擊漏洞可以進行updata更新語句去執行資料庫修改。隨後我們立即對這3個網站漏洞進行了修復,清理了木馬後門和隱蔽後門。讓平臺開始運營3天觀察看看還有無被篡改,至此沒再發生過訂單狀態被篡改攻擊的安全問題。

第三方支付平臺 網站安全防護建議

對新平臺的上線前必須要滲透測試漏洞,對sql注入進行語句嚴格定義和轉換,對上傳這裡的格式進行白名單控制,對網站支付回撥和通過獲取狀態嚴格做對比,如對sgin做來回匹配比對,簽名效驗看是否存在被篡改值如果被篡改直接返回資料包錯,如果對程式程式碼安全問題不熟悉不專業的話建議找專業的網站安全公司來處理解決,國內做的比較不錯的如Sinesafe,鷹盾安全,綠盟,啟明星辰等等都是比較大的網站安全服務商。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31542418/viewspace-2674268/,如需轉載,請註明出處,否則將追究法律責任。

相關文章