登陆参数类
新浪博客登陆
Input输入:
- Username账号
- password密码
params请求参数:
- https://login.sina.com.cn/sso/prelogin.php?entry=boke&callback=sinaSSOController.preloginCallBack&su=MTUyMzIxMzEy&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.19)&_=1654090585990
- entry: boke——固定值
- callback: sinaSSOController.preloginCallBack——固定值
- su: MTUyMzIxMzEy——变:加密
- rsakt: mod——固定值
- checkpin: 1——固定值
- client: ssologin.js(v1.4.19)——固定值
- _: 1654090585990——变:13位时间戳
- https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19)&_=1654090586051
- client: ssologin.js(v1.4.19)——固定值
- _: 1654090586051——13位时间戳
针对su
参数的解密流程
-
Ctrl+Shift+F
全局搜索:su =
-
搜索结果中定位到具体的文件:
ssologin.js
-
Jsonify后阅读代码,定位具体行数:971
1
2
3
4
5
6request = objMerge(request, me.loginExtraFlag);
request = objMerge(request, me.loginExtraQuery);
request.su = sinaSSOEncoder.base64.encode(urlencode(username));
if (me.service) {
request.service = me.service
} -
给971行:
request.su = sinaSSOEncoder.base64.encode(urlencode(username));
加上断点 -
重新输入账号密码后,提交登陆请求
-
捕捉4中打的断点,查看参数运行时的值
-
观察971行具体的加密逻辑:
-
扣出sinaSSOEncoder类的定义:
附——JS中call调用
1 | var a = a||{}; |
请求参数类
Author: Mrli
Link: https://nymrli.top/2022/06/01/爬虫——请求参数逆向/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.