前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 爬虫进阶必备 | 某志愿数据站点加密参数加密逻辑分析

Python 爬虫进阶必备 | 某志愿数据站点加密参数加密逻辑分析

作者头像
咸鱼学Python
发布2023-09-01 09:07:01
2520
发布2023-09-01 09:07:01
举报
文章被收录于专栏:咸鱼学Python

图源:AI绘画

ChatGPT:AI 应用于普通人的增强学习指南

前言

今年第一篇技术水文,冲!

“最近 AI 的风很大,咸鱼一度陷入 FOMO ,累挺!!!

恰巧遇到一个读者面试遇到面试题投稿过来分析,正好换换脑子

先看需求,原题如下(以下为聊天记录部分截图)

今日站点

aHR0cHM6Ly93d3cuNTFzZHguY29tL3NjaG9vbC8/ZnJvbT0lMkZzY2hvb2w=

抓包分析

需求是翻页+详情内容解析

先看翻页,点击翻页看到下面的请求

看下请求提交的参数

有一个 verifySign,这应该就是重点分析的参数了

详情页里面有一个历史录取分数,看了一下请求多了一个 paramSign

加密参数分析

verifySign 加密分析

直接搜索加密参数 verifySign

命中的结果就一个,点进去再次搜索定位

好像有点简单,简单分析一下参与计算的参数

参与 verifySign 计算的参数有

代码语言:javascript
复制
o, t, l.a.verify

o 是当前的时间戳

代码语言:javascript
复制
var o = (new Date).getTime()

t 是生成6位随机数

代码语言:javascript
复制
var t =  ("000000" + Math.floor(999999 * Math.random())).slice(-6)

l.a.verify 是加盐字符串【隐去部分】

代码语言:javascript
复制
sdxxqbrolkjwrgoiuyaghnow32429asnnhg

这三个部分的字符串通过“ _”拼接之后经过方法 v 之后得出最终的结果,单步调试可以得出 v 就是 md5

以上代码还原为 Python 逻辑之后可以正常请求,结果如下

paramSgin 加密分析

通过 xhr 断点

找到下面的加密位置

得到 paramSing 由下面的逻辑得到

代码语言:javascript
复制
l()("" + t.univId + t.provinceId + n.a.SALT)

其中

代码语言:javascript
复制
univId,provinceId 是提交参数,一个是报考省份id,一个是高校的id

n.a.SALT 是加盐的字符串【隐去关键】

代码语言:javascript
复制
25raHVwZ2xnemhsbW9jdka2pkdG92aHB3ZGVoYHBoAAA

得到的结果经过拼接后经过 l 方法,这里的 l 方法单步进去也是一个 md5

有了上面的逻辑之后,可以使用 Python 实现下面的结果

以上就是今天的全部内容了,咱们下次再会~

ChatGPT:AI 应用于普通人的增强学习指南

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 咸鱼学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 今日站点
  • 抓包分析
  • 加密参数分析
    • verifySign 加密分析
      • paramSgin 加密分析
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档