JS逆向-DES算法加密(模拟登录某网站)

前言

该文章为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系作者删除~

需求

模拟登录
目标网站:aHR0cHM6Ly9icWNtMC5jYXZpcDEuY29tLw==

正文

在这里插入图片描述
抓包,进入login
在这里插入图片描述
在data设置断点

data: utils.desEncrypt(JSON.stringify(a), i)
a = {
“username”: “sadasdsad”,
“password”: “asdasdasd”,
“captcha”: “”
} a是我们的明文信息
i = ‘AH04uz0v5eTEBSUX’
var i = utils.rndString()
i是一个随机值,可以写死

在这里插入图片描述

进入到加密算法,可以看到是一个标准的DES加密,ECB模式,Pkcs7填充模式
如何判断是标准算法:看算法包 如果里面有很多算法模块 那99.9%属于标准的算法库
在这里插入图片描述

用JS还原

const CryptoJS = require('crypto-js')

function rndString() {
    for (var e = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz", t = "", n = 0; n < 16; n++) {
        var a = Math.floor(Math.random() * e.length);
        t += e.substring(a, a + 1)
    }
    return t
}

function desEncrypt(e, t) {
    var n = CryptoJS.enc.Utf8.parse(t);
    return CryptoJS.DES.encrypt(e, n, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    }).toString()
}

var a = {
    "username": "sadasdsad",
    "password": "asdasdasd",
    "captcha": ""
}

i = rndString()
data = desEncrypt(JSON.stringify(a), i)
console.log(data)

最后

欢迎联系作者交流更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值