Python 爬虫进阶必备 | 某应用榜单加密参数 analysis 加密逻辑分析
图源:极简壁纸
今日网站
aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9pbmRleC9icmFuZC9mcmVlL2NvdW50cnkvY24vZ2VucmUvMzYvZGV2aWNlL2lwaG9uZQ==
这个站点在我刚刚学习 js 逆向的时候,困扰了当时的我很久,完全不知道这个值是如何生成的
听群友说修改了,正好分析一下
抓包分析与加密定位
刷新页面,可以看到如下的请求
请求参数 analysis 就是需要分析的加密参数
从 js 调用栈进去,打上断点
刷新可以看到参数已经生成了,需要向上找到没有生成的地方继续分析
网上两个堆栈,可以看到如下的代码逻辑
这里的 interceptors 相信大家应该都不陌生,目前很多请求的加密参数生成很喜欢将逻辑放在这里
先打上断点,然后再次刷新网页
从这个位置点击进去然后打上断点
这里面的位置就是加密参数生成的位置了
加密分析
最后生成加密参数的值是 z[V1](e),所以先看下 e 是怎么生成的
这里的 e 是由 a 和 d 计算生成的
这里的 a 是由 base64(sort(params).join("")) 以及 urlpath 还有一些常量用 @# 拼接起来的结果
然后这里的 d 是一个常量,应该就是关键的 key
这里的 key 就打个码,大家感兴趣可以自行分析
这两个参数传入 i[jt] 还有 i[qt] 就可以生成正确的 analysis 参数了
而这里的 a 参数在网页上的计算逻辑用到了 cookie 中的值
通过正则将需要的 cookie 值匹配出来,然后参与到 a 值的后半部分计算
不过经过测试,这个部分的校验在没有 cookie 的参与下也是可以生成有效的值的(网页上是个 || 逻辑)
所以只要构造好参数然后扣取 i[jt] 还有 i[qt] 就可以生成加密参数了
End.
以上就是全部的内容了,咱们下次再会~
相关文章
- 哪些软件是python编写出来的_用Python编程需要什么软件?
- Python十大装B语法「建议收藏」
- 简述python变量的命名规则_Python 变量命名规则
- python教程:用简单的Python编写Web应用程序
- python和Java语法对比
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- Python学习日记 – 坐标移动
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 【说站】python Series如何进行相加
- 【说站】python快速排序算法的使用
- h5 Python_python做h5网站
- Python 动态属性:能用一个参数搞定的,就不用两个
- Python 反转字符串_python输出字符串
- Python字典提取_python字典键对应的值
- python做微信回复机器人_Python自动化脚本
- Python数据类型 (字符串)
- Python 爬虫进阶必备 | 某网络广播电视台 header 加密参数逻辑分析
- Python 爬虫进阶必备 | 某新闻网正文图片 data-src 解密逻辑分析
- 【测试开发】python系列教程:Python 推导式
- Python学习记录-异常处理函数的简单使用
- Python对中国电信消费者特征预测:随机森林、朴素贝叶斯、神经网络、最近邻分类、逻辑回归、支持向量回归(SVR)
- python-Python与SQLite数据库-使用Python执行SQLite查询(一)
- python-Python与SQLite数据库-处理SQLite查询结果(二)
- python多线程多队列详解编程语言
- 用Python简化Linux指令:从繁琐变简单(python运行linux命令)
- python之Django、Flask、Tornado的区别详解编程语言
- Linux环境下Python开发的历程(linux与python)
- python中xrange和range的区别