天翼云登录破解js逆向

网站:https://m.ctyun.cn/wap/main/auth/login?redirect=%2Fmy

账号:[email protected]

密码:fffffffffff....666

抓包分析一下:

天翼云登录破解js逆向_第1张图片

 

 密码直接加在url后面进行请求,打个xhr断点看看堆栈

天翼云登录破解js逆向_第2张图片

 找一下堆栈,当然也能直接全局搜加密点,在此处找到加密点,断点打一下

天翼云登录破解js逆向_第3张图片

 encodeURI(Object(f["c"])(r.value, Object(f["f"])(Object(f["g"])(a.value))))加密函数分析,就是执行了Object(f["c"])()函数,控制台输入,点击函数

 天翼云登录破解js逆向_第4张图片

 

 发现加密为 s = x.a.TripleDES.encrypt(e, d, l);对加密函数进行分析,关键为找到x的生成,向上找,找到x的生成点

天翼云登录破解js逆向_第5张图片

 思路到这,大体为找到3452函数,构建函数执行就行,此时全局搜或者查看堆栈都行,我是找的堆栈,然后倒入熟悉的webpack格式。

天翼云登录破解js逆向_第6张图片

 

 由于太多了,我就不一一构建了。构建完的函数大体为下:

天翼云登录破解js逆向_第7张图片

 执行原有代码:

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与浏览器的结果不一致,浏览器执行一遍

天翼云登录破解js逆向_第8张图片

 

 发现n比原账号多了几个0,t ={},修改后执行代码

天翼云登录破解js逆向_第9张图片

 天翼云登录破解js逆向_第10张图片

 

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

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

天翼云登录破解js逆向_第11张图片

你可能感兴趣的:(逆向,python,爬虫)