当前位置: 首页 > article >正文

【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就有了


总结

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


http://www.kler.cn/a/885.html

相关文章:

  • 【如何从0到1设计测试用例使用Fiddler完成弱网测试】
  • 国内源快速在线安装qt5.15以上版本。(10min安装好)(图文教程)
  • 【论文阅读】SDA-FC: Bridging federated clustering and deep generative model
  • 【2024年华为OD机试】(C卷,100分)- 分割均衡字符串 (Java JS PythonC/C++)
  • Java Bean Validation 不适用Spring的情况下自定义validation注解
  • HTTP详解——HTTP基础
  • day1 —— 拿捏1~n的求和问题
  • Java中的异常
  • 《Spring Boot 趣味实战课》读书笔记(二)
  • 【webrtc】ICE 到VCMPacket的视频内存分配
  • 基于GPT-4的免费代码生成工具
  • Qt学习_08_用独立的文件存放样式表
  • Web漏洞-命令执行和代码执行漏洞
  • 百度终于要出手了?文心一言
  • 文心一言发布的个人看法
  • react的基础使用
  • 【每日一题】——网购
  • 双指针 -876. 链表的中间结点-leetcode
  • 【面试题系列】K8S常见面试题
  • 【vue.js】在网页中实现一个金属抛光质感的按钮
  • 有关pytorch的一些总结
  • 今年还能学java么?
  • 面试阿里测开岗失败后,被面试官在朋友圈吐槽了......
  • 多线程案例——阻塞队列
  • HTTP详解
  • 15000 字的 SQL 语句大全 第一部分