【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资源:某津市公共资源交易平台链接加密分析
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17547992.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步