解决方案

某麦网apk抢票接口加密参数分析(一)

seo靠我 2023-09-25 09:54:27

某麦网apk抢票接口加密参数分析(一)

当下的一些火爆活动,如音乐节、演唱会等需要购买门票的活动,常常会引发一些网络抢票软件的出现。

而某麦网也不例外,很多人使用抢票软件来抢购某些活动的门票。

为了防止这种SEO靠我情况的出现,某麦网增加了接口加密参数,让抢票软件无法直接调用网站接口,从而保证正常用户的购票权益。

那么下面我将介绍某麦网apk抢票接口加密参数的分析过程,希望对大家有所帮助。

app界面如下:

一、抓包分SEO靠我

首先我们对该app进行抓包,发现普通的抓包方式根本抓不到包,于是另辟奇径。

因为某麦网也是阿里旗下的产品,于是我转念一想,有没有可能和某宝某鱼一样走的是自己的协议,于是我首先反编译了app。

发现确实是SEO靠我存在SwitchConfig这个类的,于是我使用frida hook了它的返回值为false

奇迹发生了,果然和我猜想的一样,可以正常抓包了(我使用的工具是fiddler)

既然能够抓包了 那么下面分析起SEO靠我来就简单多了

二、订单生成接口加密参数分析

下面我们来具体分析订单生成接口的加密参数

首先我们抓个包,发现订单生成的api为mtop.trade.order.build

有以下几个加密参数比较可疑:

x-sigSEO靠我n、x-sgext、x-mini-wua

于是我就在反编译后全局搜索x-sign

找到了几个可疑的地方,如下

于是用frida进行调试,一步步追堆栈,发现真正的加密位置在InnerSignImpl这个类中的SEO靠我getUnifiedSign方法

下面附上具体的frida hook代码

InnerSignImpl.getUnifiedSign.implementation = function (a, b, c, SEO靠我d, e) {console.log("===================================================================")console.logSEO靠我(a)console.log(b)console.log(c)console.log(d)console.log(e)var result = this.getUnifiedSign(a, b, c,SEO靠我 d, e)console.log(result)showStacks()console.log("==================================================SEO靠我=================")return result }

然后将这段js代码注入到我们的app内,发现输出的参数正好就是我们抓包时看到的那几个加密参数

那这就简单了,我们只需要SEO靠我主动调用这个函数,将具体的参数传进去不就能模拟生成订单了吗

因为这边是主要为了分析,所以就不考虑还原算法,那么现在的当务之急就是找到getUnifiedSign这五个参数的生成逻辑了

分析发现前两个参数是SEO靠我hashmap,后面三个分别是string、string、boolean,因此重点就是如何构建前两个hashmap

具体的构造过程就不发出来了,难度不大,然后我们将这自己构造的五个参数传入getUnifSEO靠我iedSign函数,并且主动调用,

发现确实传回来了请求头中的几个加密参数

那这就是某麦网app构造订单的请求接口加密分析,后面再讲讲订单生成的加密接口参数分析,敬请期待

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2