Python 爬虫进阶必备 | 某公共资源交易平台加密参数与数据解密逻辑分析

咸鱼学Python

共 1255字,需浏览 3分钟

 ·

2022-05-06 05:21

点击上方“咸鱼学Python”,选择“加为星标

第一时间关注Python技术干货!


443d74e74a03d972ee4254a91754994e.webp

图源:极简壁纸

今日网站

aHR0cHM6Ly9nZ3p{删掉我}5ZncuZmouZ292LmNuL3dlYi9pb{防撞}mRleC5odG1sPyMv{删掉我}YnVzaW5lc3MvbGlzdA==

抓包分析

打开网站,随便设置一个查询条件,可以在 Chrome 的网络选项卡中抓到如下样式的请求包

061002b4d0cc6bf30e56c0616389f97f.webp

需要分析的参数如下

请求头参数:protal-sign

7c0c45e859754cb086db72afc52b9380.webp

以及加密查询结果Data的解密逻辑

9cf343064e111734831aba95d8258178.webp

加密参数的定位与分析

先看请求头的部分,这里的protal-sign是网站在请求头中添加的

一般像这样xhr请求用xhr断点是比较好的选择

同样的也可以通过hook window.XMLHttpRequest.prototype.setRequestHeader来定位

var setRequestHeader_ = window.XMLHttpRequest.prototype.setRequestHeader;
window.XMLHttpRequest.prototype.setRequestHeader = function(key,value){
        console.log(key)
        if(key.indexOf("portal-sign") !== -1){
            debugger;
        }
        return setRequestHeader_.apply(this,arguments);
 }
}

但是!这个站它不一般,他不走寻常路,用上面两种方法都不如直接检索来的快

直接检索portal-sign,找到下面的位置

c611ab617a4a5423942b3b0a6d079e87.webpf0fec75c42f2c1d467c669b53a6688c0.webp

这个时候分析的重心就转移到get_Sign方法了

单步进去,可以看到先是循环遍历了传入的参数

e91a08d26dcf48bf9a2b4b2190b55e09.webp

然后将遍历结果传入s(e)并且和r["d"]进行了拼接

先看这里的s方法,结果如下

3260b60d8b01244d00159e595ea16b3e.webp

很明显s方法就是将传入的参数拼接起来,这里的r[d]是一串字符串

7997a3cadddf4a4765859038a29f1618.webp

可以理解为加盐,防止加密的结果被撞库,拼接盐值之后的结果经过了u和转小写之后就返回了

所以这里的u就是关键的加密方法了,不过这里的u也比较简单,单步进去就可以看到了

73d27b663e16729d04df898b91d20966.webp

解密方法的定位与分析

上面进行了加密参数逻辑的定位和分析,现在还剩一个返回值Data的解密

这种返回值加密,按照开发的逻辑来说是在xhr请求之后回调解密方法,所以要在xhr中方法找到回调的位置打上断点

像下面这样

79b183ca6b3a3140fc90fc8d3ec45b35.webp

而像上一部分的请求参数分析,因为请求需要带上参数在请求发出的时候参数已经生成好了,所以我们进入xhr断点的时候,是从断点位置往上翻堆栈分析之前的逻辑

9442b63a21623c366ee5efe81eef3522.webp

现在重新加载是否能找到解密的逻辑,加载断点之后单步进入o方法

43111b4791bf52a0721911e7dea4d733.webp

一直单步可以看到如下位置的代码

357c292f168dec85059cc9b58c54d728.webp

很明显的aes解密方法,拿出key还有iv就可以直接进行还原了

简单测试一下

a58e89940d91583fe0b42166d93769bf.webp

以上就是今天的全部内容了。

我是没有更新就在摸鱼的咸鱼

收到请回复~

我们下次再见。

bc359448aab7ae44fca21f69d3115e11.webp对了,看完记得一键三连,这个对我真的很重要。

浏览 57
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报