当前位置: 首页 > news >正文

逆向百例——某备案号官网反爬

某备案号官网数据采集

  • 声明
  • 一、加速乐反爬
  • 二、请求头Token参数
  • 三、验证码反爬
    • 1、滑块识别整体流程

目标网站:aHR0cHM6Ly9iZWlhbi5taWl0Lmdvdi5jbi8jL0ludGVncmF0ZWQvaW5kZXg=

实战我们结合claude code提高我们的破解和爬虫脚本生成效率,文章我们主讲大致的流程和粗略的实战过程。

破解流程大致如下:

1、解决Cookies反爬(加速乐反爬),加速乐相关的讲解可以看我之前写过的文章。

2、请求头相关参数反爬,解决 Token 参数即可。

3、载荷参数加密反爬:

  • 获取 Token 接口的载荷 authKey 加密,一个标准的md5加密,就可以获取请求头Token了
  • 请求图片的载荷反爬,这个相对简单,直接用通用的uuid生成就可以(用 uuid4,省心、随机、安全)
  • 这个载荷加密可以忽略 —— 主要是之前验证码反爬还是文字点选的时候,他的轨迹生成需要用一个标准的AES加密生成。现在是更新成新的验证码反爬了,所以可以忽略

4、验证码反爬:滑块验证码这里也是比较麻烦的一个难点,文章会简单讲解如何过这个比较特殊的滑块验证码反爬。

上面这四个解决完后你就可以采到网站对应的接口数据了。

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

以下内容仅供学习交流使用

一、加速乐反爬

在第二次请求的时候,我们直接把它返回的整段代码拿下来,放到文件中,然后用claude code 分析并用 python 纯算还原

便捷是便捷,就是有点烧tokens !!

分析这段混淆代码,纯算得出的python代码如下,可以得出对应的加密情况,其实跟一下流程,然后手写你也可以写出来的(后悔分析这个了):

importhashlib HASHERS={'md5':hashlib.md5,'sha1':hashlib.sha1,'sha256':hashlib.sha256,}defsolve(params):bts=params['bts']chars=params['chars']ct=params['ct']hasher=HASHERS[params.get('ha','sha256')]prefix,suffix=bts[0],bts[1]n=len(chars)foriinrange(n):forjinrange(n):candidate=prefix+chars[i]+chars[j]+suffixifhasher(candidate.encode('utf-8')).hexdigest()==ct:returncandidatereturnNonedefbuild_cookie(params,clearance):cookie=f"{params['tn']}={clearance};max-age={params['vt']};path=/"ifparams.get('is'):cookie+=';secure;SameSite=None'returncookieif__name__=='__main__':params={'bts':['1776759952.391|0|AAM','QPhyJ1Gv8oYvo%2F0ORrZaDs%3D'],'chars':'BHnQegpfVjzdggDbVroIFb','ct':'4e93f61dd7195d914a11704858054f507b767a8d66341492926b46d81b4497a9','ha':'sha256','is':True,'tn':'__jsl_clearance_s','vt':'3600','wt':'1500',}clearance=solve(params)ifclearanceisNone:raiseRuntimeError('no clearance match')print('clearance:',clearance)print('cookie :',build_cookie(params,clearance))

原理就是在 chars 里取两个字符 c1、c2,拼成 bts[0]+c1+c2+bts[1],命中 sha256(x) == ct 即为 clearance,也就是加速乐第二次请求生成的 Cookies 参数__jsl_clearance_s

上面我们的加速乐反爬就结束了。

二、请求头Token参数

这里要先解决authKey请求载荷的加密,直接全局搜索一下打个断点就行了


然后接口返回的数据就有一个是 token,存入请求头,这里也解决了

三、验证码反爬

该网站之前主要是 文字点选 的验证码反爬,最近更新验证码反爬变成了滑块,刚开始我还以为怎么变简单了呢?

结果这个滑块验证码并不简单,花的处理时间比上面其他的反爬操作还要久。

用ddddocr去识别获取的缺口位置得不到一个准确的位置,识别不了,那就解决不了。

所以,我们更改成把图片的Base64通过 np,cv2 解码成 BGR,基于局部方差的滑块缺口检测识别出背景图的缺口位置

核心思路:滑块缺口区是一块被压暗/平滑处理的均匀色块,在整张图里方差最小。脚本通过滑窗方差找这个极小值位置。

1、滑块识别整体流程

Base64图片 → 解码为图像 → 灰度化 → 计算局部方差 → 找方差最小区域 → 返回缺口坐标

识别结果如下:

对应的滑块验证码脚本可以私信我获取(非免费提供),也可直接在我的资源上下载。

最终脚本实现:

http://www.cnnetsun.cn/news/2066319.html

相关文章:

  • 从零开始:利用Overpass Turbo可视化OpenStreetMap数据
  • PowerToys中文汉化终极指南:三步实现微软效率工具完全中文化
  • 避坑指南:搞定TI DCA1000EVM数据采集卡与mmWave Studio连接(解决FPGA连接失败)
  • 3分钟搞定!在Windows电脑上玩转安卓应用的终极指南
  • 数据安全优先:企业级智能体私有化部署完整方案与最佳实践
  • 如何用d2s-editor让你的暗黑破坏神2角色瞬间变身超级英雄?
  • 避坑指南:STM32外部中断控制LED时,你的按键消抖真的做对了吗?
  • 【云端部署】2026年OpenClaw/Hermes Agent6分钟保姆级安装流程
  • Hadoop实战初步学习
  • 音乐自由之路:3分钟搞定加密音频格式转换
  • 手把手复现YOLOv2的Darknet-19:从ImageNet分类到COCO检测的完整训练流程
  • CUDA 13配置踩坑实录:92%开发者忽略的5个关键依赖链校验点,3分钟定位nvcc/cuDNN/PyTorch版本地狱
  • 收藏 | 传统产品经理转型AI产品,你需要掌握的核心能力与学习路径
  • 避开这些坑!用Stata做实证分析时,描述性统计、相关性矩阵和稳健性检验的5个常见错误
  • 告别数据拷贝:用CXL协议让GPU/加速器像CPU一样高效访问内存
  • 给新人的半导体ATE测试扫盲:DFT向量、MBIST、IDDQ到底在测什么?
  • 小红书数据采集终极指南:7天掌握Python爬虫实战技巧
  • 终极指南:用Python的Mesa框架快速构建智能体仿真模型
  • CAS单点登录客户端配置避坑指南:从ServiceProperties到TicketValidator的5个关键配置项详解
  • AI作曲神器NotaGen保姆级教程:一键生成巴赫风格古典乐谱
  • 【实测避坑】告别刻板机器味!英文论文AI率稳降至28%的底层逻辑(附5款工具测评)
  • 告别配置迷茫:用实例图解S32K14x的CAN邮箱、滤波与仲裁机制
  • STM32CubeMX配置FreeRTOS时,为什么Timebase不能选SysTick?一个新手必踩的坑
  • Betaflight飞控系统2026完全指南:如何从零构建专业级飞行体验
  • 毕业季省钱攻略:免费AIGC检测、一键降重、自动PPT…哪个工具更适合你的论文阶段?
  • RA Smart Configurator 启动方式全解析
  • 从DMA到OBS插件:聊聊那些让反作弊头疼的“物理外挂”与AI自瞄新套路
  • 不止于补全:打造你的VSCode GLSL高效开发工作流(插件组合与片段技巧)
  • 博弈论与AI决策:动态环境下的优化与应用
  • Hackintosh长期维护项目:2025年黑苹果装机一站式解决方案