支付漏洞的理解通常都是篡改價格。比如,一分錢買任何東西。少收款、企業收費產品被免費使用,直接造成企業的經濟損失。本期我們來聊一聊交易支付邏輯漏洞。
先說說支付流程出現邏輯漏洞的嚴重性吧~ 哆啦A夢
支付漏洞的理解通常都是篡改價格。比如,一分錢買任何東西。少收款、企業收費產品被免費使用,直接造成企業的經濟損失。
豌豆妹
交易支付邏輯漏洞的呈現形式有哪些呢?
小丸子
支付成功后,實際價格與支付價格不相等。可以舉一些案例以助於更好地理解。
例一,充值的時候,程序只判斷訂單有沒有充值成功,但沒有判斷金額,例如:生成訂單跳至支付寶頁面,在原網站上點支付失敗,這時可以修改訂單,改成更大的金額(訂單號沒變),回到支付寶支付頁面,支付成功。程序並沒有重新核對支付寶實際的金額,只是把訂單改為已支付。
例二:使用余額支付,把數量改為負數,總金額也為負數,扣除余額時,負負得正,這時余額增加。
豌豆妹
那如何測試交易支付是否存在邏輯漏洞呢?
葫蘆娃
1、在購買產品過程中修改產品數量、價格;
2、在支付時修改總價格或者優惠價格;
3、訂單生成后,編輯訂單把A商品的價格改成B商品的價格,實現低價支付。
測試時,修改數量、單價,優惠價格參數為負數、小數,無限大,看是否能生成訂單,能生產進入支付即說明存在邏輯漏洞了。
豌豆妹
能說說交易支付漏洞的幾種常見類型么?
哆啦A夢
1、修改金額;
2、修改商品數量;
3、修改優惠金額;
4、修改數量、單價,優惠價格參數為負數、小數,無限大;
5、商品價格更改;
6、支付key泄露等。
實際安全中會有一些比較特別的,反正各種能改的參數都去嘗試。個數*單價-優惠券個數*單價=總額,每個值都可能存在問題,就看服務自身處理是否有問題了。
豌豆妹
能說說支付漏洞的修復方案么?
小新
1、在后端檢查訂單的每一個值,包括支付狀態;
2、校驗價格、數量參數,比如產品數量只能為整數,並限制最大購買數量 ;
3、與第三方支付平台檢查,實際支付的金額是否與訂單金額一致;
4、另外,如果給用戶退款,要使用原路、原訂單退回。比如:退押金,按用戶原支付訂單原路退回;
5、MD5 加密、解密、2881064151數字簽名及驗證,這個可以有效的避免數據修改,重放攻擊中的各種問題;
6、金額超過指定值,進行人工審核等。
豌豆妹
好噠~大家有其他感興趣的話題,也可以在后台留言給本寶寶喲~感謝大家的持續關注! 安全小課堂往期回顧:
1、論安全響應中心的初衷;
2、安全應急響應中心之威脅情報探索;
3、論安全漏洞響應機制擴展;
4、企業級未授權訪問漏洞防御實踐;
5、淺談企業SQL注入漏洞的危害與防御;
6、信息泄露之配置不當;
7、XSS之攻擊與防御;
8、電商和O2O行業詐騙那些事兒(上);
9、電商和O2O行業詐騙那些事兒(下);
10、CSRF的攻擊與防御;
11、賬戶體系安全管理探討;
12、遠程代碼執行漏洞的探討;
13、服務器安全管控的探討;
14、暢談端口安全配置;
15、談一談github泄露;
16、撞庫攻擊是場持久戰;
17、url重定向攻擊的探討;
18、聊聊弱口令的危害(一);
19、聊聊弱口令的危害(二);
20、聊聊XML注入攻擊;
21、聊聊暴力破解;
22、談談上傳漏洞;
23、淺談內網滲透;
24、聊聊短信驗證碼安全;
25、深聊waf那些事兒(一);
26、深聊waf那些事兒(二)。
27、聊聊app手工安全檢測。