首页
社区
课程
招聘
[旧帖] [求助]关于某58网站自动登陆的困惑 0.00雪花
发表于: 2013-5-12 15:02 2090

[旧帖] [求助]关于某58网站自动登陆的困惑 0.00雪花

2013-5-12 15:02
2090
最近学习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加密函数写的是否正确,哪位可以帮忙看看,我很是郁闷

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我遇到了和你同样的问题,你解决掉这个了吗
2013-6-22 17:53
0
雪    币: 492
活跃值: (41)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
你的pubkey公钥长度不对,前面多了一个00吧,你这个rsa公钥应该是1024位的。
2013-6-23 23:59
0
游客
登录 | 注册 方可回帖
返回
//