小言_互联网的博客

js破解 DNS登录

469人阅读  评论(0)

https://www.dns.com

先登录找请求参数

_token  在页面源码中 

找password  和 email 的加密参数

 

用 execjs 实现

import requests
import execjs
import re


def login(phone,passwd):
    url = 'https://www.dns.com/login.html'
    h = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
    }
    s = requests.Session()
    html = s.get(url,headers=h)

    _token = re.search(r'name="_token" value="(.*?)">',html.text,re.S).group(1)
    print(_token)


    ctx = execjs.compile(open('test.js','r').read())

    password = ctx.call('jm_js',passwd)
    email = ctx.call('jm_js',phone)

    print(password)
    print(email)
    data = {
        '_token':_token,
        'password': password,
        'email': email,
        'redirectTo': 'https://www.dns.com/dashboard',
    }

    res = s.post('https://www.dns.com/login',data=data)
    print(res)
    print(res.text)

login('手机号','密码')

var CryptoJS = require("./crypto-js/crypto-js");

function jm_js(val) {
    var k = CryptoJS.enc.Utf8.parse('1234567890abcDEF');
    var iv = CryptoJS.enc.Utf8.parse('1234567890abcDEF');
    enc = CryptoJS.AES.encrypt(val, k, {iv: iv, mode:CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding}).toString();
    return enc;
}

 还有 crypto-js


转载:https://blog.csdn.net/weixin_42544006/article/details/102466651
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场