JS逆向 -- AES加密

admin 2022年4月19日01:39:41评论101 views字数 1090阅读3分38秒阅读模式


一、通过抓包分析要找的参数password

JS逆向 -- AES加密


二、搜索“password:”关键字,找到encode.js关键点

JS逆向 -- AES加密


三、进去查看JS代码,通过iv,key,aes等关键字发现这是aes加密

import CryptoJS from 'crypto-js'const key = CryptoJS  .enc  .Utf8  .parse("20171109124536982017110912453698");const iv = CryptoJS  .enc  .Utf8  .parse('2017110912453698'); //十六位十六进制数作为密钥偏移量const encrypt = (word: string) => {  let srcs = CryptoJS    .enc    .Utf8    .parse(word);  let encrypted = CryptoJS    .AES    .encrypt(srcs, key, {      iv: iv,      mode: CryptoJS.mode.CBC,      padding: CryptoJS.pad.Pkcs7    });  return encrypted    .ciphertext    .toString()    .toUpperCase();}export const passwordEncrypt = (password: string) => {  if (typeof password === 'undefined') return undefined  if (!password) return ''  return encrypt(password)}


四、编写代码验证

1、通过JS实现加密

var CryptoJS=module.exports;var data=CryptoJS.enc.Utf8.parse("123456")var key=CryptoJS.enc.Utf8.parse("20171109124536982017110912453698")var iv=CryptoJS.enc.Utf8.parse("2017110912453698")var res=CryptoJS.AES.encrypt(    data,key,{        iv:iv,        mode:CryptoJS.mode.CBC,        padding:CryptoJS.pad.Pkcs7    });//默认是Base64console.log(res.toString())//到十六进制console.log(res.ciphertext.toString().toUpperCase())

2、通过火山中文编程实现

JS逆向 -- AES加密



禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧

JS逆向 -- AES加密


原文始发于微信公众号(web安全工具库):JS逆向 -- AES加密

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月19日01:39:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JS逆向 -- AES加密https://cn-sec.com/archives/919527.html

发表评论

匿名网友 填写信息