【2023-03-10】JS逆向之美团滑块

提示:文章仅供参考,禁止用于非法途径


前言

目标网站:aHR0cHM6Ly9wYXNzcG9ydC5tZWl0dWFuLmNvbS9hY2NvdW50L3VuaXRpdmVsb2dpbg==

页面分析

接口流程

1.https://passport.meituan.com/account/unitivelogin

主页接口:需获取下面的参数,都在第一个链接返回的源码里
csrf
uuid
token_id 
continues


2.https://passport.meituan.com/account/unitivelogin?risk_partner=0……

登入接口,分别有两加密参数password、h5Fingerprint


3.https://verify.meituan.com/v2/ext_api/page_data

验证码获取的接口,拿这些参数,后面会用到
    verifyMethodVersion = json.loads(res['data']['verifyMethodVersion'])  # d 就是 slide.js的版本
    slider = json.loads(verifyMethodVersion['slider'])
    yodaVersion = json.loads(res['data']['yodaVersion'])
    timestamp = res['data']['timestamp']
    sign = res['data']['sign']
    ses = res['data']['session']
    requestCode = res['data']['request_code']


4.https://verify.meituan.com/v2/ext_api/login/verify

验证接口,也有两加密参数behavior、_token,还有两个动态的参数v_c、3eac9809,还有请求头里的Authencation

第一步要用到的参数在这

 直接正则匹配过来即可

接着是password,这个是rsa加密的,找到pbk即可

然后是 h5Fingerprint,要扣下代码了,下断点找入口

要的js都在这个default文件里

扣完几千行吧,也可以全复制,加密用到的环境参数可以写死

返回后的这几个东西都会用到,特别是这个时间戳,后面加密都会校验这玩意

 验证这块先看 behavior 参数吧,断点位置也好找

传了三个玩意,滑动轨迹,requestCode,false

 看看轨迹数组,其中这个时间戳还有point校验比较严格

 加密函数bH,这些就自己扣吧,可以先反混淆下,方便看

 里面会有个window.f 是用sign和session解密出来的,需要注意,会用到

接着看_token

 加密方式跟behebar一样 ,不用的是用到的轨迹跟一些浏览器参数

 

这里看看fT跟mT吧,长度固定是60的,而且这两组有转换的管系,并且跟bebavor里的point也有关系,总之轨迹就是比较复杂

最后就是请求头里的Authencation了,这里面久有用到之前说的时间戳了,然后MD5下拼接的字符串

这两动态的参数忘记说了,是在js里取的,反混淆后比较方便找

 正则匹配返回的js就有了


总结

最后看下成果吧,基本是全过的

猜你喜欢

转载自blog.csdn.net/qq_26079939/article/details/129442967