(JS逆向)公共交易平台portal-sign参数与返回结果AES加密

网址:e10adc3949ba59abbe56e057f20f883e

注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除。

学者应洁身自好,切勿做出违法的事情。

➣➣欢迎关注本人微信公众号Anonymous NoteBook➣➣

分享好玩有趣的网络资源&软件工具~

分享各种技术性PDF资源/付费查询PDF资源~

分享各种编程语言、开发技术、分布式事务、大数据与云计算技术~

分享有关网络爬虫(Web爬虫逆向 | 安卓逆向)案例、数据挖掘、技术心得等~

目的数据:

搜索关键词,出现搜索结果

 数据返回:

请求的Header头信息中,有个portal-sign参数,每次请求都不一样,返回的结果也是经过加密的:

粗略猜测,好像是MD5加密,稍后验证。

返回加密加过,粗略猜测为AES加密, 稍后验证。

开始分析:

 全局搜索portal-sign参数,只得到 一条信息,那就是它了:

点进去可以发现,调用了getSign方法

经过调试发现,传入的参数 t 中含有时间戳,所以才每次请求都得到不一样的结果,我们看下 t 都包含哪些数据:

经过多次搜索调试,只有你传进去的keyword和ts时间戳是动态的,其他的都可以写死。

我们继续跟进getSign函数,返现调用的是f(e)函数:

跟进去.....

 

 分析可得,u(n)就是我们要的结果,最后在转为小写就行了。

我们跟进去u(n)函数,发现是一个匿名函数,继续跟进去

多么熟悉的MD5加密啊,接下来就是一顿操作扣代码了,把需要的函数、变量都补上,就ok啦。。。

开始分析返回结果加密:

我们先取一个讨巧的做法,既然我们怀疑它是AES加密,那么我们就搜索AES,或者搜索初始向量iv、填充方式(pkcs7、pkcs5等)、加密方式(CBC、EBC等),这里我们先搜索AES关键词:

 看到熟悉的代码了,点进去看下

果然AES的加密代码出来了,加密模式与填充方式一般目了然,我们调试验证下:

代码中用到了iv与密钥,我们打印看下 r 的值 :

 果不其然,和我们猜想的一样,这里就是解密的地方

最后就是,整理js代码,补充函数与变量,就么么哒了~~~~~~

完事!!!!收工!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值