【WEB逆向】前端全报文加密的分析技巧

由于前端全报文加密,无法从变量的全文搜索来快速定位加密函数对加密参数的定位(全局搜索还有个弊病是编码混淆的js也不能全局搜到,需要进一步分析判定混淆的编码形式后再全局搜编码后的变量名),因此可利用xhr断点全局拦截(或针对某个请求),从调用栈中寻找加密函数的调用并分析其加密逻辑。
在这里插入图片描述
Tips:1调试一般还可以通过事件断点来拦截如点击事件的操作。2调用栈中最上层是最后被调用的方法。3左侧是方法名,一般先定位当前执行请求的接口名(如saveuseradd),也可以看右侧js文件名,如index.js,app.js,encrypt.js等这类。
在这里插入图片描述
前端使用vue开发,方法中定义了请求的参数格式,已初步知晓请求参数的变量名,对于单个参数的加密,一般在这里构建json而对相关变量赋值时就会调用加密函数。
1可审计有关变量的数据流,定位调用加密函数处理并赋值的位置2变量的数据流未发现加密赋值地方时,大概率再前端拦截器里处理(可以全文搜索interceptors.request定位拦截器并审计加密调用的位置)。
在这里插入图片描述
进入回调说明这个请求已经结束了,没有进入调试流程说明断点下的不对。

从saveuseradd这一帧向后分析,m这帧进入请求,由于data还没加密,但明显已经很接近加密调用的位置,因此下断点。调试进入方法。

另外,每个调用帧里的帧是可以重启的,这样就不用每次重头调试,而在一个请求里完成调试。

原本以为5013是对传入参数加密操作,下了断点,发现不对,又在后面发现了加密过程的代码,却没单步过去,没关系继续单步看后续往哪走,再判断是不是分析错了(这里就是经验了没啥教条可列)

然后就进入流程了,且本次正是拦截器里完成请求与响应加解密流程的例子~,至此,分析就结束了,关闭所有断点,让进程直接继续执行,burp拦截一下请求简单对比下加密报文和头,就可以继续其他操作了。

其实调用栈哪一帧发现看着像加密的可以大胆点直接下断点,不用费事的单步分析,就看他断点停不停,停下来直接扣加密逻辑。Localstorage中的keycipher和pbe用于该函数(data_encrypt_cpa)的加密过程,传入了dynamicPassword但没用,其中cpa的hash迭代算法为sm3,对称加密算法为sm4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值