JS逆向-搜狐图片AES解密

今天分析的网站是: https://www.sohu.com/a/601772603_429139

好久不看搜狐文章了,最近在看搜狐文章的时候发现图片地址加密了,打开控制台查看elements发现图片是正常显示。

在这里插入图片描述

/XgGKGmmy65S51KsF688i+jwr47D8luFD15aBAmwHor+XS3c3VuARtQNV35+hAvijv/Sz6dOdrEuha6PRdIFwIW+R6BlJEMeepEDRfGKUBM=

但是鼠标右键查看网页原代码发现却是被加密的。

在这里插入图片描述

再根据经验,我们大胆的测试加密和decrypt相关,先用decrypt搜索下。

在这里插入图片描述

看断点的样子,是成功的断进去了。

核心的js代码如下:

function e(e, t) {
		return r.AES.decrypt(e, r.enc.Utf8.parse(t), {
		      mode: r.mode.ECB,
		      padding: r.pad.Pkcs7
		  }).toString(r.enc.Utf8)
		}

一看这就是非常标准的AES加密,使用的ECB模式,填充的paddingPkcs7

单步进去看看里面的计算逻辑,e单步进去来到这一步。

在这里插入图片描述

然后进到这里面

在这里插入图片描述
最后会返回一个固定值,也就是key:www.sohu.com6666

在这里插入图片描述

控制台打印下看看et是什么。

在这里插入图片描述
可以明显的看到e就是传递过来的加密值,而t就是AES解密的key

分析的差不多了,js代码如下:

var CryptoJS = require("crypto-js");

var data_text = "QdNDsuFXQTGMjFQB08PVr+vvdZHTeJ37RCxPLJ8UKaYms6eFK0ULx00YMoQf8O+gcYw4MuyOzIPz2Qb+ckk0BgyU8xDuL3lT+J3HruXGTkM="
var aes_key = "www.sohu.com6666"
var dec_data = CryptoJS.AES.decrypt(data_text, CryptoJS.enc.Utf8.parse(aes_key), {
    mode: CryptoJS.mode.ECB,
    padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8)

console.log("解密后数据:", dec_data)

运行结果:

解密后数据: //p1.itc.cn/q_70/images03/20221031/4b4add9ac8e042f19fb128b3b6fdd6b9.jpeg

解出来的就是正常的明文了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值