提示:文章仅供参考,禁止用于非法途径
文章目录
- 前言
- 分析
- 总结
前言
真的好久没更了……
提示:以下是本篇文章正文内容,下面案例可供参考
分析
进到网页,加载两个接口
applyLoginFactor 接口返回一个RSA公钥,switchForApolloForH5接口使用上个接口返回的公钥,有点类似注册公钥的意思,但是后面的接口却没用到
第二个接口有三个加密的,下断点就很容易找到
这个rk是个随机值
erk是对rk进行rsa加密,edata是对params,原始提交数据的AES加密,最后的sign是对原始提交数据的MD5一下,返回下面的就是ok了
然后随便输个手机号,会出来易盾的滑块,也是简单的,他不校验actoken,这里就不叙述滑块了
过了滑块后会请求三个接口,第一个获取公钥,也可以叫服务器公钥
第二个接口返回的数据是加密过的
提交的数据也有一个加密
加密位置在这里,但是这个里的 PublicKey 不是之前返回的,是要重新获取的客户端PublicKey
返回的公钥密钥,都会使用到
state.clientKey = _this2.clientRsaKeyUpload();
var params = {
openId: openId,
clientRsaPublicKey: state.clientKey.clientRsaPublicKey //这里是客户端公钥
};
var RSAUtils = new JSEncrypt();
state.serverRsaPublicKey = res.result; // 这里是服务器公钥
RSAUtils.setPublicKey(res.result);
var encData = RSAUtils.encrypt(JSON.stringify(params));
返回的数据是加密的,需要解密
var _RSAUtils2 = new JSEncrypt();
_RSAUtils2.setPrivateKey(state.clientKey.clientRsaPrivateKey);//这里用的客户端私钥
var data = JSON.parse(_RSAUtils2.decryptLong(res.result)); // 去解密接口返回的数据
{
'aesKey': 'f3d219b220214b3b8d3751ab42bb129e',
'clientRsaPublicKeySign': '9VJ71Qq8Ifa3a/IEhFyFOKxt7DSLRh0lSlUe5zsFa8tZfgDcr+UaSRRn7SY2rjiAj2Za+2M+cX129sXnMHJexnv/Oizb6m6ntOBtNPN4b3Wh6RBmFRW7Jnm5kokLTNN+/B2oPfUqaMIgkeGKmrMj3N8wceQ50ks73O5nrXGs5t2uAtTxXRszbLjiEZP3FjxqIv36usCbYv2GVanEJo800ENM7MbYAuzZyyytxrp+RH8j3wdbsT77aigaA1sJtREJ6ju4P459QsLIBieITiEy5AjzbNC2qNvREOGDBfDht7Kop+V0LieiLAS0shByc8XFDHXCGcZy1dhFz7kNEiMrYx5r3f2Ue9IZfbc/9RyaR9wGx0scLdJ1WwTKH0szRGtY1ME4JGMgLyhduPUfL+rs4gice2gTkh3haaegynTBenO5FroOl6bg8G+PM61e0BJZeIpuxK8AQzhnFhAeUqGnRIu9FKZhyLvxuuXJ/S7ypa3JUL+y1hO3hla4THLFWBNm0YIe2JqtOpJNkhWF6aKosZbHCxbZV/CcRrlazw7KJg/mhPlB9MuA6Z3bLWfqgRgg88A+r9azOAzdFcaxVs38KzSl0Gw3RpfmuqJC+Mn8NbKT/RCLGb0BXEBJKc43JpWGr67JRik7M/G/8Bx83tscwLmbWTyM+iOfwO1bImKdxKg='
}
拿到了这个aesKey,最后请求发送短信的接口
加密都是现成的,直接扣就完事
state.aesKey = data.aesKey;
GibberishAES.size(256);
var _encData = GibberishAES.aesEncrypt(text, state.aesKey);//aes加密提交的数据
_RSAUtils.setPrivateKey(state.clientKey.clientRsaPrivateKey);
var aesKeySign = _RSAUtils.sign(state.aesKey, CryptoJS.SHA512, 'sha512'); //sha512加密aeskey
总结
滑块
获取验证码