js逆向-常见DES加密

声明

本文仅供参考学习,切勿用于他途,违者后果自负!

前言

目标网站:aHR0cHM6Ly9wYXNzcG9ydC5jaGFuZ2hvbmcuY29tL2xvZ2luLmRvP3ZpZXc9dmlwJnNlcnZpY2U9aHR0cDovL2NuLmNoYW5naG9uZy5jb20mbGl2ZW1vZGU9MQ==
逆向目标:登陆包的password参数

加密分析

抓包

在这里插入图片描述

如图所示,password进行了加密。加密内容很短,盲猜无果。搜索关键字password

在这里插入图片描述
全局搜索后,发现包含pwd的js文件并不多,一个一个找就能找到。首先jquery肯定排除掉(熟悉前端的小伙伴都知道这是一个js的第三方库,并不涉及加密)。关键字眼login,不出意外的话就在这两个文件中的其中一个,自己动手试一下吧。
在这里插入图片描述

在这里能够看到encryptPwd函数完成了用户密码的加密。看一下具体逻辑:
使用jquery将密码框中用户输入的值设置为一个加密值。

在这里插入图片描述
encryptByDES中的参数为用户输入的值,使用jquery获取到,然后作为参数加密,再将明文设置为密文,防止密码被泄露。

通过函数名可以看出是一个DES加密。而且源码中也已经写出来了,可以说一点难度都没有。
在这里插入图片描述

拿下来稍微改一下参数就可以在本地运行了。

const CryptoJS = require('crypto-js')

function encryptByDES(message) {
    if (message == null || message.length == 0) {
        return "";
    }
    var key = "passport-gw-pc";
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.Pkcs7
    });
    return encrypted.toString();
}

function encryptPwd(pwd) {
    var afterPwd = encryptByDES(pwd);
    return afterPwd;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值