JS逆向案例:五矿招标数据采集

五矿招标数据采集

🔍 引言

Webpack作为一种流行的打包工具,常被用来对代码进行加密和混淆。这次,我们将深入探讨如何破解Webpack加密,获取中国五矿招标数据的全过程。
在这里插入图片描述

🔍 什么是Webpack?

Webpack是一个流行的JavaScript模块打包工具,它能够将多个模块打包成一个或多个bundle,并且可以进行代码混淆和压缩,以提高加载速度和保护代码逻辑。对于爬虫技术人员来说,Webpack加密意味着需要更多的逆向工程技巧来理解和破解其生成的代码。

🔍 从抓包开始

要破解中国五矿的招标数据,我们首先需要进行抓包分析,了解请求的具体内容和加密方式。
在这里插入图片描述

🕵 获取公钥

首先,我们需要发送一个请求来获取公钥,这个请求返回的公钥类似于:
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCFSP

🔧 分析JavaScript代码

我们需要分析处理请求的JavaScript代码。可以断点调试相关代码。以下是一个典型的加密函数:
t.setPublicKey® sign: B()(JSON.stringify(e)), timeStamp: +new Date;s = t.encryptLong(JSON.stringify(a)), A.abrupt(“return”, s);
在这里插入图片描述

🔑 破解param参数加密

通过上述代码,我们可以看到param参数的加密过程:
获取公钥:通过/open/homepage/public接口获取。
设置公钥:使用setPublicKey方法设置公钥。
生成签名和时间戳:对参数进行签名,并添加时间戳。
加密参数:使用encryptLong方法对参数进行加密。

我们需要逆向模拟这些加密过程,以下是关键步骤:
1、发送请求获取公钥。
2、设置公钥并模拟签名和时间戳生成。
3、使用加密算法对参数进行加密。(MD5)
在这里插入图片描述
在这里插入图片描述

细节步骤:
1、在Webpack打包的代码中,param参数的加密通常通过复杂的逻辑实现。我们需要逐步解析这些逻辑,并用Python代码重新实现。
2、定位加密函数:通过关键字搜索或断点调试,找到用于加密param参数的函数。
3、模拟加密逻辑:理解加密函数的输入和输出,使用Python代码或者扣代码模拟这一过程。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Switch616

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

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

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

打赏作者

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

抵扣说明:

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

余额充值