小白操作----抵制黄牛高价票
最近演唱会增多,总是抢不到票,所以想从回流票入手,做一个某麦网的演唱会回流票的监控。
最简单的分析方法从网页端开始分析~虽然大麦不支持网页端购买,不慌,咱只是看看有没有票不购买,直接抓包随便一个音乐节的票量接口。
经过抓包得到以下两个链接,分别是:
经过验证headers是统一的不会变也没有加密参数,cookie也是一致的,但有未知参数_m_h5_tk、_m_h5_tk_enc
而这两个接口里的参数大同小异,分别如下
场次接口:
座次接口:
可以看到其中关键参数就是t、sign、data,其他参数都是固定的。
其中data显而易见,场次接口的itemId就是这个演出的id,其他参数固定;座次接口的itemId是演出id,dataId就是当前场次的id(例如10.21场),其他参数固定。
接着我们可以打断点看一下这个t和sign是如何生成的。F12调出控制台,下一个xhr断点,可以直接打到"sign"上,也可以打到对应链接上。
刷新一下页面触发断点,找到对应的请求发起js文件。
在这个文件里简单调试下很容易就能找到加密函数
可以看到这个函数就是将token、c、s、data,以&进行分隔拼接,然后再进行加密得到sign。
其中token暂时未知,c就是url参数中的t时间戳,s就是url参数中的appKey固定值,data就是url参数中的data的json字符串,简单拼接就行。
所以现在就剩token未知,在函数上打个断点看看:
发现这个token很眼熟,回头看看我们请求所需的cookie,这个token就是cookie中_m_h5_tk的前半部分,直接拿过来用就可以。
我们拿相同的参数去网上的在线md5加密一下,发现加密结果一致,即这个加密函数就是简单的md5加密。
现在所需要知道的就是_m_h5_tk是如何产生的,直接回到首页,删除cookie缓存重新抓包,找到set-cookie的那一条请求就行。
可以发现只要在token失效之后,随便发起一条请求携带过期的sign,就会返回新的_m_h5_tk,这下大功告成了。
最后再加上VX推送提示,或者其他通知app接口,就完成了回流监控。
如何进行vx推送呢?
注册微信的服务号就可以做到,用的第三方公众号WxPusher做的推送