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

【js逆向】信息公示平台搜索滑块逆向

目标:实现搜索后,滑块验证,得到结果。

网站:aHR0cHM6Ly94eGdzLmNoaW5hbnBvLm1jYS5nb3YuY24vZ3N4dC9uZXdMaXN0

1. 输入搜索关键字,触发滑块验证

a和b后面要用到的参数,c中的cutImage和oriImage是背景和缺口图的base64编码数据

2. slide_captcha_check滑块的校验,请求参数中有a b c三个,验证成功后,请求 /gridQuery.html获得搜索后的数据。所以只需要分析这三个参数的由来就行。

hook JSON代码

(function () {var stringify = JSON.stringify;JSON.stringify = function (params) {console.log("Hook JSON.stringify ——> ", params);debugger;return stringify(params);}
})();(function () {var parse = JSON.parse;JSON.parse = function (params) {console.log("Hook JSON.parse ——> ", params);debugger;return parse(params);}
})();

3. 在这里加上断点然后重新刷新页面输入关键词过滑块,继续往上分析栈,在checkLocation中发现了熟悉的字段,可以清空其他断点,只定这三个。

这三个就是我们要求的载荷的参数,

this.valuea 和 this.valueb 是验证码的响应数据其中一部分

如下所示一一对应

 

下面是看这个函数

this.encodedata(this.valuea)

 输出:

下面是求这个,this.moveX是滑块移动的距离

a = this.$getRsaCode(parseInt(this.moveX) + "")

 写个函数来识别一下

 然后是求c

 a = this.$getRsaCode(parseInt(this.moveX) + "")

 求param_c的代码如下:

def rsa_encrypt(t):# 公钥字符串   PEM格式public_key_str = """-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCsYUGHMhjSzdMqn9JzPfKs9JbxXTPtHofTv7reV0HrEz4brnE6ZJpNn5s934KO3L4QDF7ELHysIiounhhpF1bewW9jKdcpZA5M1CkGHKcwpLA2liaqOlt/0Mf3ui9jxR9AHxUMFVGfJ6Q4+cEmDBUAEOXlxqk4ZjGpubwGNk9XQIDAQAB-----END PUBLIC KEY-----"""public_key = RSA.import_key(public_key_str)cipher = PKCS1_v1_5.new(public_key)message = str(t).encode('utf-8')encrypted_bytes = cipher.encrypt(message)encrypted_str = base64.b64encode(encrypted_bytes).decode('utf-8')return encrypted_strparam_c = rsa_encrypt(str(move_x['target'][0]))

下面这个不知道是什么原因 

自动化出的结果,这个比较简单,主要上面那个如果有大佬知道怎么解决,可以在评论区发表一下,谢谢

点个关注吧!

http://www.dtcms.com/a/226218.html

相关文章:

  • C++: STL简介与string类核心技术解析及其模拟实现
  • 【芯片学习】555
  • 第二章支线四 ·响应圣坛:媒体查询与移动适配
  • Linux服务器 TensorFlow找不到GPU
  • 内网怎么映射外网ip? 内网的地址快速映射给外网访问用方法
  • 美业新动能:智能体如何赋能行业“维护”升级(3/6)
  • VMware Tools 手动编译安装版
  • 71.用户重新编辑功能实现之后端实现
  • 简历制作要精而不简
  • Redis缓存存储:从基础到高阶的深度解析
  • 16-前端Web实战(Tlias案例-部门管理)
  • UNION 与 UNION ALL 的区别
  • 七、物理.
  • CppCon 2014 学习:ASYNCHRONOUS COMPUTING IN C++
  • MCU如何从向量表到中断服务
  • 爬虫工具链的详细分类解析
  • 历年苏州大学计算机保研上机真题
  • 系统性学习C语言-第十三讲-深入理解指针(3)
  • 【Canvas与色彩】八彩大风车
  • 鸿蒙ArkTS | Badge 信息标记组件自学指南
  • LTSPICE仿真电路:(三十一)HOWLAND电流源
  • 每日算法-250601
  • 各种乱码问题解决措施
  • 古老的传说(Player、Stage)是否还能在蓝桥云课ROS中重现-250601(失败)
  • 利用DeepSeek编写能在DuckDB中读PostgreSQL表的表函数
  • ubuntu系统更换镜像源
  • 基于内存高效算法的 LLM Token 优化:一个有效降低 API 成本的技术方案
  • C++:回调函数
  • 【C++进阶篇】哈希表的封装(赋源码)
  • 【AI论文】推理语言模型的强化学习熵机制