JS逆向新手篇-3DES

第一章 JS逆向新手篇-3DES


提示:以下所有内容仅提供学习!没有任何商业行为。

一、网址

aHR0cHM6Ly9jai5lbG9hbmNuLmNvbS91c2VyL2xvZ2luP3NlcnZpY2U9aHR0cHMlM0ElMkYlMkZjai5lbG9hbmNuLmNvbSUyRnBjZ3dheSUyRmFwcDAwMSUyRnYxJTJGMDIlM0ZyZXQlM0RhSFIwY0hNNkx5OWphaTVsYkc5aGJtTnVMbU52YlElM0QlM0Qmdj0xNzExMDIyNDQ4NjQxCg==


二、需要逆向的字段

password

1.图片展示

登陆页面登陆页面
需要逆向的字段
需要逆向的字段


2.逆向思路

  1. 全局搜索
    全局搜索
    全局搜索就是在控制台中,搜索加密参数。如password这个关键词搜索出来有5个结果。我们只需要看js文件

  1. js文件内搜索js文件内搜索
    现在我们只需要对这三个js文件进行搜索,发现第一个文件有password字段数量最多,有很大可能在这里。

  1. 找到加密入口找到加密入口
    这个地方很有可能。因为出现了加密字段 encryptByDES 还有登陆表单提交的的字段 username password service
    我们可以验证一下,再此下断点。

  1. 成功断点成功断点已经断到,这个里面的判断是获取service的中有没有包含 jie borrowtest jieuat 这三个字段。[indexOf:获取下标,没有就会返回-1]。所以会走else的分支。

  1. 进入正确分支进入正确分支
    进入正确分支
    可以看到加密位置已经找到,我们进去看看。

  1. 进入加密函数内部进入加密函数内部
    进来一看,就是标准的 CryptoJS加密。所以我们直接复现就好

3.JS复现

代码如下(示例):

//先引用加密模块,然后直接复制加密函数所有内容即可。
const CryptoJS = require('crypto-js')

//复现3DES函数
function encryptByDES(t,e){
    var a = CryptoJS.enc.Utf8.parse(e);
    try {
        var s = CryptoJS.DES.encrypt(String(t), a, {
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        })
    } catch (t) {
        console.log(t)
    }
    return s.toString()
}

var t = 123456
var e = "e9284d45-cf2a-4e46-9367-f122413ca6b0"
console.log(encryptByDES(t, e));

最终复现结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值