干貨 | 支付與并發漏洞挖掘技巧
支付漏洞-金額溢出Int型最大值2147483647,超過該值后,從0開始技術,即1=2147483649
利用方式:
1.直接修改金額
2.通過修改數量,比如用1300元買3300元的6w多件商品
支付漏洞-小數點買1.49個商品和1.5個商品的區別,或2.0.019=2這樣
支付漏洞-重復購買限購商品簽約漏洞(如多手機掃碼進入支付頁面,然后依次支付,解除自動續費,那么會以優惠價開通多次,比如首次簽約會很低,然后續費的話會比首次簽約高,因此以首次簽約的價格開通多次)
無限首充
支付漏洞-越權替別人支付(小號充大號)比如某平臺vip很高的時候購買東西會有折扣,創建訂單后,如果可以用余額來幫大號支付,而且余額還可以是做任務可能會獲取到的 游戲平臺的話,通常都是游戲賬號和平臺賬號是分開的,也就是你領取代金卷后,可以通過修改角色uid來把全部金額都充到同一個號中
支付漏洞-會員升級如你沒會員,卻以升級超會的補差價來開通超會
或你只開通一個月會員,卻可以以補差價開通多個月超會
支付漏洞-訂單關閉步驟:
1.使用優惠卷創建一個訂單,停留在支付界面
2.關閉訂單,返還優惠卷
3.使用優惠卷再次創建訂單,把第一個未支付的訂單進行支付
4.商品從關閉,重新進入到了代發貨的階段(優惠卷復用)
并發技巧手動客戶端模擬點擊多次,然后再放行,對時間戳和簽名很有效
Turbo 的簡單并發
部分并發前置條件:在測試過程中發現有些并發需要滿足可以成功兌換2次才可以并發成功,例如購買商品,商品價格為2,就需要滿足余額為4才可以并發成功
返回值經過會遇到一些含有sign或token,導致無法修改的一些情況,比如想修改商品金額,由于sign修改后導致無效,那么其實你在加載的時候返回值中加載了這個price,修改返回值后你再去購買,就可以繞過這個sign,因為他是本地生成的報文,相當于在生成前就已經把金額修改了
還有一種情況,在測試一些比如商家補貼,公司信息,賬號信息等,大多數白帽子會直接抓包去修改參數查看是否有漏洞,那么其實大家可以關注加載的時候返回值比如商家會涉及到一些補貼,返回值中可以看到但是你傳給服務器的參數中并沒有這個參數,那么你就可以手動添加這個參數進行嘗試,或添加賬號uid進行越權等
驗證碼繞過,通過修改返回值來繞過驗證碼,如code:500=>code:200或code:0這樣,例如手機換綁,修改密碼校驗等