天翼云登录加密

网站: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 ={},修改后执行代码

 

 

 与浏览器结果一致,完成。

 感兴趣的可以关注我的公众号:码字的秃猴 一起学习

 

posted @ 2021-04-13 00:13  是四不是十  阅读(1800)  评论(0编辑  收藏  举报