cqsx

aHR0cHM6Ly9tYi5jY3F0Z2IuY29tL25tYmFuay8jL2ZpbmFuY2U/YWN0aXZlTmFtZT13LXRhYi1sZWZ0
本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

抓包分析

数据包为queryPrdList

getKeyPair大概率是后面加解密要用到的Key,而且大概是个aes算法

image-20241204103426016

加密

image-20241204105326439

加密相关的参数就是bodysignData了,reqsn是由第一个getKeyPair返回的

看发包分析出来大概率是个和aes加解密有关的算法,由于响应中写的是aesKey,故直接搜索aesKey,能看到三个地方用到了。

image-20241204104412715

分别打上断点,从前两个的就能看出,第一个doDecryptDynamicTGB是解密,第二个doEncryptDynamicTGB是加密

image-20241204104624752

image-20241204104646749

刷新断在doEncryptDynamicTGB即可

image-20241202151346304

c、u、l分别就是getKeyPair中返回的三个值

body参数

i就是请求参数了主要是由e.datat.aesKey作为参数来加密

进入doEncryptDynamicTGB可以看到就是一个aes加密再转大写

image-20241204104910957

signData参数

signData是sm2的签名但是调用原生的sm2签名一直没过去,就把这个方法扣下来了

主要就是这个v函数了

image-20241204140840466

折叠一下,就直接把这个function扣下来,缺啥在往上找就行了,传入就进去的p可以看成一个{}空对象,就是webpack的导出那个串起来供下级调用的对象

image-20241204141415516

解密

就是一个原生的AES解密,n参数就是那个aesKey

doDec

image-20241202152904390

image-20241204141851295

发包

发包必须是先发getKeyPair的包再发请求数据包,一个数据包对应一个getKeyPair

数据包的请求头headers的N-D-Encryptno和N-D-Messagenum要对应getKeyPair中的reqsn

posted @ 2024-12-04 15:22  逍遥子D  阅读(54)  评论(0)    收藏  举报