Js 逆向:微博登录

1、先分析参数:
在这里插入图片描述
su,sp是必要的。
其中su是加密后的账号,很简单就是个bs64,不再说了。
在这里插入图片描述

2、直接搜参数,这个时候要搜代表性的,特殊的。例如pwencode。
很好只有一个
在这里插入图片描述
两种加密,一个是RSA,一个是sha,这里判断用的是RSA
在这里插入图片描述

3、直接打断点调试
在这里插入图片描述
很明显b是明文密码,经过加密之后又赋值给了b
我们进入f.encrypt
在这里插入图片描述
实际上是bt函数,然后bt又调用bp,反正就是各种调用。那我们直接把这个外层的匿名函数抠出来
直接运行
在这里插入图片描述
sinaSSOEncoder未定义
那就定义为{};

var sinaSSOEncoder = {};

在这里插入图片描述
同样

var navigator = {};

随后把外层调用的代码扣进来

var f = new sinaSSOEncoder.RSAKey;
f.setPublic(me.rsaPubkey, "10001");
b = f.encrypt([me.servertime, me.nonce].join("\t") + "\n" + b)

对于rsaPubkey,肯定是加载页面的时候就给你了
在这里插入图片描述servertime是时间戳给你了,nonce也是给你了,那就直接模拟下。

publickey = "EB2A38568661887FA180BDDB5CABD5F21C7BFD59C090CB2D245A87AC253062882729293E5506350508E7F9AA3BB77F4333231490F915F6D63C55FE2F08A49B353F444AD3993CACC02DB784ABBB8E42A9B1BBFFFB38BE18D78E87A0E41B9B8F73A928EE0CCEE1F6739884B9777E4FE9E88A1BBE495927AC4A799B3181D6442443"
var b = '111111'
var f = new sinaSSOEncoder.RSAKey;
f.setPublic(publickey, "10001");
a= [1635469113, 'QNCUFY'].join("\t") + "\n" + b
b = f.encrypt(a)
console.log(b)

直接运行发现还有问题
在这里插入图片描述
alert 是浏览器弹窗。这里并不需要,直接删了就ok

再次运行,完美得出结果。
在这里插入图片描述
实现完整登录流程还有别的要做,例如验证码啥的,那些都比较简单了,逐步分析需要的参数就行,都在包里。简单说下验证码的解决思路:
先请求他们的验证码,然后第三方或者本地识别下,我这里用的是本地过验证。
得到的验证码code嵌入到post参数就行了。

如有错误敬请指正,欢迎批评。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值