【Web逆向】某津市公共资源交易平台链接加密分析

25 篇文章 4 订阅
7 篇文章 2 订阅

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

【Web逆向】某津市公共资源交易平台链接加密分析

声明

本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!

一、起因

好奇抓取 某津市公共资源交易平台 的消息列表,感觉是很简单的 get 请求就解决了,但是发现抓取的链接都不可以用。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们手动去点击 web 端链接,发现链接和网页源代码中的链接有所出入。

网页源代码:http://ggzy.zwfwb.tj.gov.cn/jyxxcgjg/1005226.jhtml
Web 端链接:http://ggzy.zwfwb.tj.gov.cn/jyxxcgjg/seDcdFCWAJcesrD8hqP+Yw.jhtml

在这里插入图片描述
那就证明我们点击后,网页源代码的链接到 Web 端链接有经过转换,下面我们来一步步分析一下。

二、开始分析

选中某一条新闻的 a 标签,点击事件监听器,再点击 a 标签后面的文件跟进去看看。

在这里插入图片描述
再点击下面的花括号,把代码进行一下格式化,方便我们观看。

在这里插入图片描述
我们可以大概看出,点击后,a 标签的 href 元素传值给 hh,判断 href 是否存在或者是 #,如果不是,证明详情链接存在,再进行下面的代码。

在这里插入图片描述

我们在下面随便打个断点,重刷新一下,点击一个详情页,步进几步,可以看到

在这里插入图片描述
这些都是很正常的网页源代码的链接分解赋值,看来转换为 web 详情页链接是在下面这一段代码:

在这里插入图片描述
我们随便复制一段代码去搜索看看,比如:CryptoJS.enc.Utf8.parse 可以知道这段代码大概是 使用CryptoJS进行AES加密,如果对这个加密有兴趣的话参看官网文档:CryptoJS - docs

我们开始分析下面的代码,大概的意思就是先将那串数字(ccc)用 UTF8 加密成数组

在这里插入图片描述

再对密钥操作,问题来了,这里的 s 密钥是多少呢,打个断点测试一下:

在这里插入图片描述

可以看出密钥 s = ‘qnbyzzwmdgghmcnm’

在这里插入图片描述
再将上面的两个数组用 AES 加密:

在这里插入图片描述
将用 AES 加密过的 en 转为字符串:

在这里插入图片描述
我乍一看这种字符串像是base64加密,再将带有/符号的转为^,因为在url编码中,/符号有特殊意义

在这里插入图片描述
再将数据后面的[==]分割掉

在这里插入图片描述

最后的字符串就是需要的数据了,我们封装一下测试一下:

在这里插入图片描述

经过测试,没毛病,返回的这个字符与真实的一致。

三、源码下载地址

GitHub:某津市公共资源交易平台链接加密分析【麻烦客官点颗Star】

CSDN资源:某津市公共资源交易平台链接加密分析

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳舞的皮埃尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值