Quantcast
Channel: 看雪安全论坛
Viewing all articles
Browse latest Browse all 9556

【求助】关于某58网站自动登陆的困惑

$
0
0
最近学习python,想通过脚本自动登陆58遇到困难,58登陆密码经过了压缩的js加密,密码加密后生成三个主要参数p1,p2,p3(以前是两个,不知什么时候增加了一个)
关键js代码
代码:

            $("#p1").val(getm32str($("#password").val(),timesign+""));
            $("#p2").val(getm16str($("#password").val(),timesign+""));
            $("#p3").val(encryptString(timesign+encodeURIComponent($("#password").val()),"010001","008baf14121377fc76eaf7794b8a8af17085628c3590df47e6534574efcfd81ef8635fcdc67d141c15f51649a89533df0db839331e30b8f8e4440ebf7ccbcc494f4ba18e9f492534b8aafc1b1057429ac851d3d9eb66e86fce1b04527c7b95a2431b07ea277cde2365876e2733325df04389a9d891c5d36b7bc752140db74cb69f"));


我分析python登陆有两个办法
1.通过python调用这两个js
2.通过分析重写加密函数或分析算法模拟加密
我通过第二种方法模拟不知为什么就是登陆不了,不知我的p1,p2,p3加密函数写的是否正确,哪位可以帮忙看看
代码:

import  time
import hashlib
import urllib
import urllib2
from rsa import *
import binascii
import cookielib
class GetData():
    def getPassword(self,username,password):
        timesign = long(time.time()*1000);
        timesignstr = '%d' % timesign;
        pmd5 =  hashlib.md5(password);
        pubkey='008baf14121377fc76eaf7794b8a8af17085628c3590df47e6534574efcfd81ef8635fcdc67d141c15f51649a89533df0db839331e30b8f8e4440ebf7ccbcc494f4ba18e9f492534b8aafc1b1057429ac851d3d9eb66e86fce1b04527c7b95a2431b07ea277cde2365876e2733325df04389a9d891c5d36b7bc752140db74cb69f'
        rsaPublickey = int(pubkey, 16)
        message = timesignstr[5:11]+urllib.quote(pmd5.hexdigest())
        key = PublicKey(rsaPublickey, 65537) #创建公钥
     p3 = encrypt(message, key)
        p3=binascii.b2a_hex(p3)
       
        data ={
            'isweak': '0',
            'path':   'http://my.58.com?pts=1368330663183',
            'p1':    hashlib.md5(pmd5.hexdigest() + timesignstr[5:11]).hexdigest(),
            'p2':    hashlib.md5(pmd5.hexdigest()[8:-8] + timesignstr[5:11]).hexdigest(),
            'p3':    p3,
            'timesign' :    timesign,
            'ptk':      '70406448ebb04e9382d70b22295dc53a',
            'cd':       '1199',
            'username':    username,
            'password':    'password'
                } 
        
        return data

解压后js代码如下:


我通过第二种方法模拟不知为什么就是登陆不了,不知我的p1,p2,p3加密函数写的是否正确,哪位可以帮忙看看,我很是郁闷


Viewing all articles
Browse latest Browse all 9556

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>