網站: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 ={},修改后執行代碼
與瀏覽器結果一致,完成。
感興趣的可以關注我的公眾號:碼字的禿猴 一起學習