沃支付登录

涉及到的知识有
验证码
js逆向

import time,os
import cv2
import js2py
import requests

headers = {
    'authority': 'epay.10010.com',
    'pragma': 'no-cache',
    'cache-control': 'no-cache',
    'sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="97", "Chromium";v="97"',
    'accept': '*/*',
    'x-requested-with': 'XMLHttpRequest',
    'sec-ch-ua-mobile': '?0',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36',
    'sec-ch-ua-platform': '"Windows"',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://epay.10010.com/auth/minipage/loginWindow_newlogin.jsp',
    'accept-language': 'zh-CN,zh;q=0.9',
}


def get_getPubKey():
    times = int(time.time() * 1000)
    response = requests.get(url=f'https://epay.10010.com/auth/auth/getPubKey.jsp?_={times}',
                            headers=headers).text.replace('200--', '').strip()
    return response


def get_loginPwd(pwd):
    key = get_getPubKey()
    f = open('1.js', 'r').read()
    context = js2py.EvalJs()
    context.execute(f)
    loginPwd = context.encryptRequest(pwd, key)
    return loginPwd


def get_yzm():
    response = requests.get('https://epay.10010.com/auth/a.randomPic', headers=headers).content
    with open('1.png', 'wb') as f:
        f.write(response)
    IMG = cv2.imread('./1.png')
    cv2.imshow("Image", IMG)
    cv2.waitKey()
    yzm = input('请输入验证码:')
    os.remove('1.png')
    return yzm


def main():
    yzm = get_yzm()
    user = input('请输入账号:')
    pwd = input('请输入密码:')
    loginPwd = get_loginPwd(pwd)
    data = {
        'errorurl': 'https://epay.10010.com/auth/auth/errorPage.jsp',
        'RelayState': 'type%3DC%3Bbackurl%3Dhttps%3A%2F%2Fepay.10010.com%2Fauth%2Fauth%2FloginBack.jsp%3Bspid%3D4028f09638eb576a013904e27b440002%3Bnl%3D8%3BloginFrom%3Dhttps%3A%2F%2Fepay.10010.com%2Fpss%2Fuser%2Fmy',
        'loginType': '1',
        'loginPwdType': '1',
        'loginPwd': loginPwd,
        'flag': 'no',
        'userid': user,
        'pwd': '',
        'validCode': yzm
    }
    response = requests.post('https://epay.10010.com/auth/Login', headers=headers, data=data).status_code
    print(response)


if __name__ == '__main__':
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值