DDR爱好者之家 Design By 杰米

@TOC

1.样本地址

aHR0cDovL2NyZWRpdC5jdXN0b21zLmdvdi5jbi9jY3Bwd2Vic2VydmVyL3BhZ2VzL2NjcHAvaHRtbC9kZWNsQ29tcGFueS5odG1s

2.反调试

使用无痕窗口,打开f12后打开网页。发现自己在断点处停下了

【JS逆向系列】某海关公示平台分析
在调用堆栈网上找,这种格式的混淆就是使用的ob混淆,首先使用ast把【SwCaHu_p.js】和【menuManger.js】这两个文件进行反混淆。反混淆的方法在前面的AST系列文章有说到,这里就跳过了。

反混淆完成后,使用Fiddler.exe抓包并自动响应这两个js文件,再尝试打开网页。

【JS逆向系列】某海关公示平台分析

3.页面分析

反混淆之后就不会出现无限debugger的情况了,但是这时出现了滑块。先在网页手动滑一次

【JS逆向系列】某海关公示平台分析

滑块通过的话,code为0,这时得到【csessionid】和【value】。那这两个值进行下一步接口请求,正常情况下会有一个307的响应,这时会得到一个【acw_sc__v3】的cookie值,此时再请求接口,就可以得到加密的数据

【JS逆向系列】某海关公示平台分析

通过调用堆栈,找到请求成功时的回调函数,并设断点,然后刷新

【JS逆向系列】某海关公示平台分析

【JS逆向系列】某海关公示平台分析
往下调试可以看到,通过loadAESDecryptStr方法后,就可以得到明文,跟入这个方法

【JS逆向系列】某海关公示平台分析
最后是调用的MuData_KXC方法

【JS逆向系列】某海关公示平台分析

4.算法分析

看到这里有isPadding、mode、sk。猜测是sm4算法,并且存在一句【_0x3ca6b6['sk'] = _0x3ca6b6['sk']["reverse"]()】。这是密钥轮换后,在解密是需要对密钥得到的sk进行反转,那就可以确定,CaData_KXC是sm4加密函数,MuData_KXC是sm4解密函数。

但是使用标准sm4进行解密,发现解密得到的是一堆乱码。仔细查看代码,发现进行了一些魔改,包括初始化数值和算法细节

【JS逆向系列】某海关公示平台分析
复制gmssl库中的sm4代码,并且按照js的代码进行魔改

【JS逆向系列】某海关公示平台分析
【JS逆向系列】某海关公示平台分析
最后尝试进行解密,可以解出明文了

【JS逆向系列】某海关公示平台分析

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。