首页 > 其他分享 >JS逆向 -- 分析被加密的响应数据

JS逆向 -- 分析被加密的响应数据

时间:2023-05-26 17:31:46浏览次数:39  
标签:enc 加密 -- iv toString mode CryptoJS JS

一、当抓到一个数据包的时候,发现响应数据被加密了,这时没有关键字供我们搜索。

JS逆向 -- 分析被加密的响应数据_数据

JS逆向 -- 分析被加密的响应数据_搜索_02

二、这时就要从url入手,一般js里面会对对响应的加密数据进行解密,我们搜索url中的路径“/dataservice/query/comp/list”

JS逆向 -- 分析被加密的响应数据_数据_03

三、只搜到一个js文件,进去下断,并查看参数,发现正好是这个数据包提交的参数

JS逆向 -- 分析被加密的响应数据_搜索_04

四、因为要解密响应数据,所以肯定要用response关键字,在该js文件中,局部搜索“response”,t.data就是响应的加密数据,h函数是解密函数

JS逆向 -- 分析被加密的响应数据_搜索_05

五、进入h函数,进行分析,看到aes,iv,mode,CBC等关键字,肯定是AES加密了

function h(t) {
            var e = d.a.enc.Hex.parse(t)
              , n = d.a.enc.Base64.stringify(e)
              , a = d.a.AES.decrypt(n, f, {
                iv: m,
                mode: d.a.mode.CBC,
                padding: d.a.pad.Pkcs7
            })
              , r = a.toString(d.a.enc.Utf8);
            return r.toString()
        }

六、将加密数据带进去解密,关键代码

var key=CryptoJS.enc.Utf8.parse("jo8j9wGw%6HbxfFn")
var iv=CryptoJS.enc.Utf8.parse("0123456789ABCDEF")
p =CryptoJS.enc.Hex.parse(pwd)
w=CryptoJS.enc.Base64.stringify(p)
var value=CryptoJS.AES.decrypt(w,key,{
  iv:iv,
  mode:CryptoJS.mode.CBC,
  padding:CryptoJS.pad.Pkcs7


}).toString(CryptoJS.enc.Utf8);
return value.toString();

七、运行结果

JS逆向 -- 分析被加密的响应数据_数据_06


标签:enc,加密,--,iv,toString,mode,CryptoJS,JS
From: https://blog.51cto.com/u_15288375/6358177

相关文章

  • webpack4
    webpack4webpack是一种前端资源构建工具,一个静态模块打包器(modulebundler)。在webpack看来,前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。使用初始化package.jsonnpminit下......
  • 度衍专利采集一版
    importhashlibimportrandomimporttimefromurllib.parseimportquote,unquoteimportpymysqlimportrequestsfromlxmlimportetree#把唯一值进行MD5加密defget_md5(parmStr):#1、参数必须是utf8#2、python3所有字符都是unicode形式,已经不存在unicode关键字......
  • 全网最全Kubernetes(k8s)知识点,看着一篇就够了
    一、引言Kubernetes是谷歌强力推出的一款开源的容器编排技术,他的目标是让部署容器化的应用更简单高效,Kubernetes提供了应用部署,规划,更新,维护的一系列机制,很多大公司都在使用。Kubernetes有叫k8s(下面我就简称k8s)。下面我们就进入k8s的世界吧!二、k8s概述和特性1、几点概述k8s......
  • SpringGateway不用注册中心实现负载均衡
    1、pom<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/PO......
  • GO基准测试
    如何确定N的循环次数不变量:时间,一般为1s,可以外部运行时指定关键代码func(b*B)launch(){ //Signalthatwe'redonewhetherwereturnnormally //orbyFailNow'sruntime.Goexit. deferfunc(){ b.signal<-true }() //Runthebenchmarkforatleastthe......
  • Spring StateMachine状态机总结
    参考文档:https://blog.51cto.com/u_6346066/5271543https://mp.weixin.qq.com/s?__biz=MzI2MTIzMzY3Mw==&mid=2247540203&idx=1&sn=0855be65db7b01efab77a40b5d0ecc97&chksm=ea5f908ddd28199bb73ebcbcf44970039a574ba4b102e5c4518dad6a96237cbdafab7e4f5938&......
  • 导出Excel,下载文件,返回文件流和报错信息处理
    downloadExcelCreateA(resData,fileName){//下载文件varblob=newBlob([resData],{type:'application/vnd.ms-excel'})vardownloadElement=document.createElement('a');varhref=window.URL.creat......
  • MacOs前后台调度优先级观察
    场景构造用swiftui写6个一摸一样的helloworld程序,间隔1s刷新展示一个不断递增的数字。分别将6个应用至于前台焦点(App_Foreground)、前台非焦点完全可见(App_Complete_Visiable)、半遮挡(App_Partially_Visiable)、被完全遮挡(App_Unvisiable)、最小化(App_Minimize)、隐藏(App_Hide)。如......
  • 用fetch处理的流,放到div中会有样式丢失的问题
    最近在做fetch处理流的问题,发现接收到得流,在div中渲染得时候样式会丢失,特别是空格、换行之类得。为了解决问题去看看了css得样式处理发现css中有个属性white-space。然后就去看了这个属性的定义和取值情况。   在css中white-space属性用来控制容器的文本中带有空白符、制表......
  • 使用卷积神经网络实现影评数据的分类
    一、实验目的熟悉循环神经网络在文本分析和分类上的应用 二、实验原理或实验内容从keras的数据集中加载影评数据,注意需要填充(截断)数据,并转成数组的形式。构建一个神经网络模型,要求使用词嵌入和循环层,并使用划分好的训练集数据训练模型,使用划分好的测试集的数据验证模型,训练......