cookie
一共俩参数应该是有阿里云生成:测试后发现可以是固定值,估计是用来监控异常设备的
_abfpc= 8be8421a52dbf3581f5e75423587524390ffc509_2.0
cna=060e2fa4d449bf9c160f7e5a77fe7ad3
在登录请求中需要携带两个参数在header中:
ts:当前时间戳
SG
sg: 由三个参数字符串连接后md5加密即可获得
sqlp+固定加密key+当前时间戳
即: sqlp+“_2Cqooc&#(*@&(”+ts
通过断点调试发现,当SQIP为空的时候,sqlp+固定加密key+当前时间戳的结果为空字符串,因此:
SG为固定值:“d41d8cd98f00b204e9800998ecf8427e”
登录请求会返回一个 "NONCE":参数后面会用到
do接口获取
需要四个参数:
CNONCE:(暂时还没解完)
NONCE: (暂时还没解完)
DLMM:登录密码加密后
DLZH:登录账号
//登录密码加密过程
e.form.CNONCE = i,
e.form.NONCE = s,
e.form.DLZH = e.form.DLZH.trim(),
r = e.sha256(e.DLMM).toUpperCase(),
e.form.DLMM = e.sha256(s + r + i).toUpperCase(),
登录完成后会返回result,这个result是加密过后的
解密相关部分
var n = N().AES.decrypt(t.result, e.keyR, {
iv: e.ivHex,
mode: N().mode.CBC,
padding: N().pad.Pkcs7
}).toString(N().enc.Utf8);
t.result = JSON.parse(n)
ivHex: N().enc.Utf8.parse("6012785901066678"),
keyR: N().enc.Utf8.parse("6$0H_3p4$51589O%0KdO?1236.?89$@"),
ivHex2: N().enc.Utf8.parse("6012785901006678"),
keyR2: N().enc.Utf8.parse("6$0H_3p4$51589O%0KdO?l236.?89$@"),
解密完成后可以得到sqlp
后续请求中必须header必须携带的三个参数,cookie携带登录后获取
sqlp:
ts:当前时间戳
SG
sg: 由三个参数字符串连接后md5加密即可获得
sqlp+固定加密key+当前时间戳
即: sqlp+“_2Cqooc&#(*@&(”+ts