js破解 八月x 登录破解

本文深入探讨了JavaScript在八月X登录系统中可能存在的安全漏洞,并详细讲解了破解的技术细节,包括如何利用脚本进行攻击,以及防范此类攻击的措施。
摘要由CSDN通过智能技术生成
import execjs
import requests

def login(username,password):
    login_url = 'http://so.techhg.com/login'
    headers = {
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
        "Accept-Encoding": "gzip, deflate",
        "Accept-Language": "zh-CN,zh;q=0.9",
        "Cache-Control": "no-cache",
        # "Cookie": "",
        "Host": "so.techhg.com",
        "Pragma": "no-cache",
        "Proxy-Connection": "keep-alive",
        "Referer": "http://so.techhg.com/",
        "Upgrade-Insecure-Requests": "1",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36",
    }

    s = requests.session()
    s.get(login_url,headers=headers)

    # RSA 加密代码 js实现
    ctx = execjs.compile(open('RSA.js', 'r').read())
    get_Ciphertext = ctx.call('get_Ciphertext', password)

    # 登录数据
    data = {
    "loginName": username,
    "redirect": "http://so.techhg.com/",
    "password": get_Ciphertext,
    }

    s.post(login_url,data=data,headers=headers)
    return s

byg_session = login(账号,密码)
// RSA, a suite of routines for performing RSA public-key computations in
// JavaScript.
//
// Requires BigInt.js and Barrett.js.
//
// Copyright 1998-2005 David Shapiro.
//
// You may use, re-use, abuse, copy, and modify this code to your liking, but
// please keep this header.
//
// Thanks!
//
// Dave Shapiro
// dave@ohdave.com

function RSAKeyPair(encryptionExponent, decryptionExponent, modulus)
{
    this.e = biFromHex(encryptionExponent);
    this.d = biFromHex(decryptionExponent);
    this.m = biFromHex(modulus);
    // We can do two bytes per digit, so
    // chunkSize = 2 * (number of digits in modulus - 1).
    // Since biHighIndex returns the high index, not the number of digits, 1 has
    // already been subtracted.
    this.chunkSize = 2 * biHighIndex(this.m);
    this.radix = 16;
    this.barrett = new BarrettMu(this.m);
}

function twoDigit(n)
{
    return (n < 10 ? "0" : "") + String(n);
}

function encryptedString(key, s)
// Altered by Rob Saunders (rob@robsaunders.net). New routine pads the
// string after it has been converted to an array. This fixes an
// incompatibility with Flash MX's ActionScript.
{
    var a = new Array();
    var sl = s.length;
    var i = 0;
    while (i < sl) {
        a[i] = s.charCodeAt(i);
        i++;
    }

    while (a.length % key.chunkSize != 0) {
        a[i++] = 0;
    }

    var al = a.length;
    var result = "";
    var j, k, block;
    for (i = 0; i < al; i += key.chunkSize) {
        block = new BigInt();
        j = 0;
        for (k = i; k < i + key.chunkSize; ++j) {
            block.digits[j] = a[k++];
            block.digits[j] += a[k++] << 8;
        }
        var crypt = key.barrett.powMod(block, key.e);
        var text = key.radix == 16 ? biToHex(crypt) : biToString(crypt, key.radix);
        result += text + " ";
    }
    return result.substring(0, result.length - 1); // Remove last space.
}


var biRadixBase = 2;
var biRadixBits = 16;
var bitsPerDigit = biRadixBits;
var biRadix = 1 << 16; // = 2^16 = 65536
var biHalfRadix = biRadix >>> 1;
var biRadixSquared = biRadix * biRadix;
var maxDigitVal = biRadix - 1;
var maxInteger = 9999999999999998;


var maxDigits;
var ZERO_ARRAY;
var bigZero, bigOne;

function setMaxDigits(value)
{
    maxDigits = value;
    ZERO_ARRAY = new Array(ma
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于破解JavaScript加密,需要具体了解所使用的加密算法和密钥管理方式。在引用的内容中,提到了RSA加密和AES加密两种常见的加密算法。 对于RSA加密,它是一种公钥加密算法,使用公钥进行加密,私钥进行解密。破解RSA加密需要获取私钥,但私钥通常是由加密方保管的,因此破解RSA加密是非常困难的。 对于AES加密,它是一种对称加密算法,使用相同的密钥进行加密和解密。破解AES加密需要获取密钥,但在JavaScript中,密钥通常是在客户端存储的,因此可能存在一些安全问题。然而,要破解AES加密,需要获取存储在客户端的密钥,这通常需要对客户端进行攻击或者获取密钥的访问权限。 总的来说,破解JavaScript加密是一项复杂的任务,需要具备相关的技术和知识。同时,破解加密算法是非法的行为,违反了隐私和安全的原则。因此,建议在合法和合理的情况下使用加密算法,保护数据的安全性。 #### 引用[.reference_title] - *1* *3* [常规 JavaScript 加密大全](https://blog.csdn.net/mxd01848/article/details/130109000)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [常见JavaScript加密算法、JS加密算法](https://blog.csdn.net/qq_43762932/article/details/131042614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值