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

015-MD5极志愿

案例网址:极志愿

加密参数+定位加密位置

要逆向的参数如下:

就这一个参数,这里搜索关键字加等号直接就是,但是我们还是用用xhr吧,不然太简单了:

这里异步后的第一个栈依旧加密好的,那就进入异步前:

data已经是明文了,说明就是拦截器,进入打断点:

一般都是成功的回调,然后运行过来观察返回值:

看看是哪个产生的(这里注意,我们看过之后就相当与执行过此代码了,最好重新触发断点过来看):

那说明就是t函数加密的,进去看:

赋值的位置,看看赋值的结果是啥:

那就是Qt函数进行的加密以及其他一些操作,这种还可以进去看(有些生成的是单独的加密密文,这种可能进去后就是加密的底层逻辑了,我们看不懂,这种可以根据密文长度或者关键字来判断是啥加密,看不出来就扣核心代码然后根据报错缺啥补啥),继续进去看:

赋值位置,打上断点了,运行过来看看:

根据长度感觉像md5,看看是不是:

4b70结尾,标准md5,只不过加了大写而已,再看看入参:

看了这些图应该明白,其实就ts和page要改:

咱们直接拿字符串即可:

复现逻辑+py调用

直接看复现代码吧,很简单:

py调用代码:

fromrandomimportrandomimportrequestsimportosimportexecjsimporttimeclassJSExecutor:def__init__(self,file_path):ifnotos.path.exists(file_path):print('NotFoundFile')withopen(file_path,'r',encoding='utf-8')asf:self.js_code=f.read()self.js_code=execjs.compile(self.js_code)defcall(self,func_name,*args):returnself.js_code.call(func_name,*args)defget_data(sign,ts,para_page):# cookie没有反爬cookies={}headers={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0',}json_data={'page':para_page,'page_len':10,'filter':{},'app_id':'98357f659cf8fb6001cff80f7c6b85f2','ts':ts,# 变化'platform':'desktop','v':210,'sign':sign,# 变化}response=requests.post('https://www.jizhy.com/gaokao/sch/filter',cookies=cookies,headers=headers,json=json_data)returnresponse.json()if__name__=='__main__':js_executor=JSExecutor('15.js')forpageinrange(1,4):js_params=js_executor.call('getSign',page)print(get_data(js_params['sign'],js_params['ts'],page))time.sleep(random())

result:

拿下✌

小结

本文很简单,只需要找到加密位置,其他都不是事儿,文章如有什么问题请及时提出,加油加油

http://www.jsqmd.com/news/235626/

相关文章:

  • I2S协议PCB布线关键点:零基础掌握走线规则
  • 【叶片单元动量理论】分析给定螺旋桨几何形状在不同前进比下恒定转速下的性能研究(Matlab代码实现)
  • JVM中的类加载Minor GC与Full GC
  • 基于Java+SpringBoot+SSM养老院管理系统(源码+LW+调试文档+讲解等)/养老院管理软件/养老院服务平台/养老机构管理系统/老年护理管理系统/养老院信息管理系统/养老服务管理平台
  • 模拟信号在传感器中的应用:小白入门教程
  • 11. Linux 防火墙管理
  • 实测!2026制造业数字人TOP4榜单:谁能真正适配产线刚性需求?
  • 数字孪生在智能工厂中的应用:实战案例解析
  • 016-扣代码:天翼云登录
  • 大数据SQL优化:结构化数据查询性能提升秘籍
  • 使用拍卖的多智能体系统动态分散任务分配算法(Maatlab代码实现)
  • 从零实现工业网关USB接口引脚对接
  • 2026可落地商用数字人选型指南:TOP5产品深度测评与实战对比
  • [特殊字符]️_开发效率与运行性能的平衡艺术[20260112162407]
  • 017-RSA:贝壳网登录(参数password)
  • 【SCI一区】【电动车】基于ADMM双层凸优化的燃料电池混合动力汽车研究(Matlab代码实现)
  • 013-webpack:新东方
  • [特殊字符]_微服务架构下的性能调优实战[20260112163019]
  • 12. SELinux 加固 Linux 安全
  • 报告显示:小镇青年摆脱父辈人情链,从“关系继承“走向“关系开拓“ | 美通社头条
  • 基于电力电子系统的MOSFET基本工作原理系统学习指南
  • 全网最全10个AI论文软件,助本科生搞定毕业论文!
  • [特殊字符]_可扩展性架构设计:从单体到微服务的性能演进[20260112163630]
  • 新手必看:Altium Designer中过孔建模与仿真配置
  • 面试 Java 基础八股文十问十答第七期
  • 快速理解Altium Designer的阻抗控制设置方法
  • 接口测试用例的设计方法
  • 通过QTabWidget实现多步骤向导界面的方案
  • 2百万人围观的Claude Code 实战使用指南
  • 使用 IChatReducer 进行聊天记录缩减