通过抓包分析,登录过程可以大致划分为两种类型的请求:
1、第一种是请求数据和响应数据都经过加密的,没有典型k-v数据。并且可以看到ua为Android sdk, 说明加密在应用的java中或者so中

2、第二种是部分请求参数是加密的,返回的是明文。这个的ua就是浏览器格式ua,说明是软件调用webview组件发起的请求,加密是js加密


当出现安全验证流程就会发起第二种请求,说明安全验证是webview方式进行的,加密为js加密
今天咱们只分析安全验证流程也就是第二种请求,这样看起来就简单多了,只需要用浏览器调试了,不需要分析native层,在电脑浏览器中调试大家都会,手机软件中的怎么调试?也很简单,当手机中有webview加载,可以使用浏览器自带的远程调试工具DevTools 在电脑浏览器中输入如下
edge浏览器:edge://inspect/#devices
谷歌浏览器:chrome://inspect/#devices
usb连接手机
一般应用中的webview都会关闭调试功能,需要进行hook打开远程调试
Hook 命令:
frida -U -l hook.js --no-pause -f 包名
Frida hook代码:
打开调试后,当应用中出现webview页面 可调试页面就会出现:

点击inspect 就会弹出这个页面的调试页面,剩下就是分析还原js参数加密
通过请求可以看到像加密参数的一共有四个,分别是si,tk,ct,se
分析发现 si是第一种Android请求返回的数据 js加密参数为tk,ct,se三个
数据格式如下:
js的具体分析流程就不贴了,贴个调试入口,大家可以自己尝试。
传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2天前
被kanxue编辑
,原因: