新版本重慶高校平臺逆向解析

Mr、Kr發表於2024-10-11

一共倆引數應該是有阿里雲生成:測試後發現可以是固定值,估計是用來監控異常裝置的
_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

相關文章