微博登陆过程分析(二)加密方式

    xiaoxiao2021-03-25  143

    通过开发者工具获取weibo.com下所有的js文件,查找与账号密码加密有关的代码段

    接下来是获取并处理severtime的代码

    ssoServerTimeTimer :

     

    calcServerTimeInterval : 自增间隔

     

    prototypeTimer :

     

    setServerTime() :servertime从浏览器接收到开始自增

     

    getServerTime() : 通过prelogin()获得severtime

     

    prelogin(): 触发账号框的blur事件后,用于获取服务器关于账号密码加密的参数

     

    发现:

    从获得servertime开始,每两秒severtime+=2,至post操作结束自增,发送给服务器

    待解决问题:

    代码逻辑与抓包结果大致匹配,但是有偏差

    username的加密方式:base64加密

    password加密方式:

    RSA加密:

    hex_sha1加密:

    结果:

    账号加密的方式是base64

    密码加密的方式是 servertime + ‘/t’ + nonce + ‘/n’ + password之后再进行rsa加密或三次hex加密(根据服务器发送的关于加密方式的标识,进行指定加密,一般是rsa加密),服务器解密出来的结果是拼接的字符串,所以servertime的值的变化不影响密码的传递,可以忽略

    转载请注明原文地址: https://ju.6miu.com/read-10808.html

    最新回复(0)