網站:https://m.ctyun.cn/wap/main/auth/login?redirect=%2Fmy
賬號:234555551@qq.com
密碼:fffffffffff....666
抓包分析一下:

密碼直接加在url后面進行請求,打個xhr斷點看看堆棧

找一下堆棧,當然也能直接全局搜加密點,在此處找到加密點,斷點打一下

encodeURI(Object(f["c"])(r.value, Object(f["f"])(Object(f["g"])(a.value))))加密函數分析,就是執行了Object(f["c"])()函數,控制台輸入,點擊函數


發現加密為 s = x.a.TripleDES.encrypt(e, d, l);對加密函數進行分析,關鍵為找到x的生成,向上找,找到x的生成點

思路到這,大體為找到3452函數,構建函數執行就行,此時全局搜或者查看堆棧都行,我是找的堆棧,然后倒入熟悉的webpack格式。

由於太多了,我就不一一構建了。構建完的函數大體為下:

執行原有代碼:
function Z(e) {
var x = fff("3452");
var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : ""
, t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}
, a = t.enc
, c = "Utf8"
, r = t.mode
, i = "ECB"
, o = t.padding
, u = "Pkcs7"
, d = x.enc[c].parse(n)
, l = {
mode: x.mode[i],
padding: x.pad[u]
}, s = x.TripleDES.encrypt(e, d, l);
console.log(s.toString());
return s.toString()
}
發現與結果不同,此處的n和t與瀏覽器的結果不一致,瀏覽器執行一遍

發現n比原賬號多了幾個0,t ={},修改后執行代碼


與瀏覽器結果一致,完成。
感興趣的可以關注我的公眾號:碼字的禿猴 一起學習

