声明
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!!
抓包分析下单流程
秀动有web端,h5端和app端。web端是不能下单的。今天我们分析的是h5端。首先我们要先构造h5的下单链接,下单链接模板是这个,我们只需要两个参数sequence和ticketId。
https://wap.showstart.com/pages/order/activity/confirm/confirm?sequence=&ticketId=
![](https://i-blog.csdnimg.cn/blog_migrate/71dd69b104ac5a027cbda737a7eaad5c.png)
通过构造的链接进入到h5下单页面,抓包发现data和sign是加密的。sign看着是32位的应该是md5加密。接口的path每个账号也不一样的,有朋友说是算法生成的,具体我也没有去深究。
![](https://i-blog.csdnimg.cn/blog_migrate/65371a4b34ebb00441fcbde63d09c33c.png)
这里我就直接说流程了。第一步获取这个接口的响应,拿到部分结果,对第二步的data和sign的明文进行拼接。都是固定而且可以发提前包。
![](https://i-blog.csdnimg.cn/blog_migrate/a8984f8fb89d8e57f0369b60cdcdae1f.png)
第二步点击立即支付,抓到第二步的包。拿到orderJokey继续对第三步的明文继续构造。
![](https://i-blog.csdnimg.cn/blog_migrate/1e6a97c99f9a183106cb118bc0009483.png)
第三步拿到orderId继续对第四步的明文继续构造。
![](https://i-blog.csdnimg.cn/blog_migrate/dbf984226b86d6969d5abab377748939.png)
第四步发送一个日志包,就能成功下单了。
![](https://i-blog.csdnimg.cn/blog_migrate/690679ba11ee7275ade1857c2e5ec467.png)
逆向分析
直接查看堆栈,很快就能跟到加密的地方,这里就是加密的地方。
![](https://i-blog.csdnimg.cn/blog_migrate/a1b4fa44ee2bb3adaf61fd48d9de7c6d.png)
sign分析
![](https://i-blog.csdnimg.cn/blog_migrate/8254535bc62cf1dded3d7b5e6f3f7ae7.png)
我们去验证一下是不是标准md5。
![](https://i-blog.csdnimg.cn/blog_migrate/cda60e7c60617308bb434749b1d270c7.png)
是对的上。python直接套库就好了。
data分析
我们跟进encrypt方法,可以看到是AES加密并且是ECB模式,key是0RGF99CtUajPF0Ny。
![](https://i-blog.csdnimg.cn/blog_migrate/7d4cbd1f0464c0e7de0ee81f45484bdd.png)
是标准的AES算法,也可以直接套库。
总结
emm抢票构造参数模拟发包就行了。成功下单
![](https://i-blog.csdnimg.cn/blog_migrate/421a8e5ed778474934d8e042c52fd10e.png)