某东cfe滑块协议逆向

分析过程

1.第一个api拿到了一个类似base64的字符串

2.第二个api也是在请求中有一个enbody,但是将结果应该是回传日志

到这里我们目前还不知道第一个请求返回的data有啥作用,接着往下找

第三个fp请求,我们发现这个si和第一个api返回的data一致,ct应该是js加密的出来的,然后返回了两个字段,fp和st

第四个check请求,哎为什么不是web请求啊,因为那个没啥用,我们直接略过,这个时候我们发现,check请求返回了img b1:滑块背景,b2:缺口图,分析i一下参数

si--->第一个返回的data

version,client固定参数,我们只需要找到tk,ct两个生成的位置

最后一个check请求:验证的请求,你会发现参数和上面的check基本一致,可以猜测一下应该走的是一套流程

好我们接下来开始逐一去找它们的生成位置。

逆向过程

1.enbody

看一下第一个api堆栈,发现貌似就两个js,猜测是app.js点进去搜索发现做了混淆,我们把他拿出来,先去解混消,结完混淆回来搜索enbody,应该有三个,全部断点刷新,看看走哪个,跟一下就出来了,这个没难度。一个简单的sha

可以简化成这样,一个标准的sha-128加密,直接标准库去搞,si生成就搞定了

result = encrypt(JSON.stringify(param), 'rhiasnkdhandrisk', 'r-s-h-n_r_isnkdk').replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");

第二个api加密和第一个位置一样,就是将第一个的api的请求加密一边遍。

fp请求逆向

根据堆栈差不多可以锁定是这个文件生成:captcha_mobile_2024_11_04.0dugxe.min.js

我们跟进去搜索一下 .ct,还是三个全部打上断点,这个时候刷新再去跟,会发现意外惊喜,check的参数生成位置也出来了,先说fp,就是这个xt函数,seesionid 就是si

其他的基本上可以固定,拿到v.ct我们就基本结束了,下面的可以不要,函数拿出来缺什么补什么就行

check逆向

1.第一个check,还是刚刚的js, 搜索.tk基本就出来了,就是这个yt函数

长得和上面的xt函数很像,第一个check我们可以看到,传进来的t为空字符串

这个和上面一样,sessionid就是si,至于那个touchlist直接从浏览器上复制写死就行

这个w就是我们要拿到的东西,也就是check函数的参数

第二个check,检验接口,还是yt函数

我们发现t中的list就是生成的轨迹,其他的都可以写死,函数拿出来缺什么补什么,补到可以成功拿到结果就可以,最后还是拿到这个w就大功告成

结语

其实整个逆向的过程很简单,唯一的麻烦事就是轨迹,可以自建本地库,也可以对接打码平台

最后看一下成果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值