爬虫逆向实战(42)-某巢登陆(AES、MD5、RSA、滑块验证码)

news2024/11/16 19:58:59

一、数据接口分析

主页地址:某巢

1、抓包

通过抓包可以发现在登录时,网站首先请求captcha/querySlideImage/来获取滑块验证码的图片,然后请求captcha/checkCode/接口来验证滑块验证码。滑块验证码校验成功后,请求noshiro/getPublicKey来获取PublicKey,然后发送/passport/login请求来登录。
在这里插入图片描述

2、判断是否有加密参数

2.1、请求参数是否加密?

(1)querySlideImage
这个接口是用来获取滑块验证码的,虽然这个接口不携带参数,但是这个接口的路径中包含了一个随机加密值(下文简称为img_url_code)。
在这里插入图片描述
(2)checkCode
这个接口是用来校验滑块验证码的,同样路径中也有img_url_code,但是可以发现此处的img_url_code与querySlideImage接口请求图片时携带的一致。同时,这个接口还携带了参数(下文简称为img_params)。
在这里插入图片描述
(3)login
此接口是登录接口,通过查看“载荷”可以发现,此接口有两个加密参数passwordverifyCode,其中verifyCode参数是滑块验证码校验成功后接口返回的,所以不需要关心。
在这里插入图片描述
2. 请求头是否加密?

3. 响应是否加密?

4. cookie是否加密?

二、加密位置定位

1、img_url_code

通过添加XHR断点,然后点击“登录”按钮获取滑块验证码,断点断到之后,进行跟栈。然后就可以发现img_url_code的生成位置。
在这里插入图片描述

2、img_params

因为这个请求参数,是一整个加密字符串,所以我们可以通过hookJSON.stringify。运行hook代码后,滑动滑块验证码,发现可以断到,然后进行跟栈,可以发现加密位置。可以发现网站是在此处对传入的参数中的data使用JSON转换为字符串,然后进行加密,且此处类似于AES的ECB模式加密。
在这里插入图片描述
再次向上跟栈,可以发现上述的方法的传参中有三个属性signtrackaesKey。其中track可以看出来就是滑动滑块时的轨迹,aesKey是在获取滑块验证码的接口响应中,sign的生成就在函数调用的上方。
在这里插入图片描述

3、password

通过查看启动器,然后点击submitFn进入,可以发现加密位置。
在这里插入图片描述
在这里插入图片描述

三、扣代码大致思路

1、第一步

先将img_url_code的生成方法扣出,此方法就是一个生成随机字符串的方法。然后将img_url_code拼接在路径上,发送请求获取滑块验证码。

2、第二步

拿到滑块验证码的响应后,除了两个图片的路径需要保存以外,路径中的img_url_code以及响应中的checkIdclientIpkeypointY也需要保存。
在这里插入图片描述

3、第三步

请求滑块验证码的图片,并获取到缺口的x值,然后结合pointY生成一组轨迹列表,然后生成sign
通过观察就可以发现,sign的生成是将clientIpcheckIdimg_url_code以及轨迹列表进行相加,然后使用MD5进行加密生成sign
在这里插入图片描述

3、第四步

将上一步生成的data使用JSON转成字符串,然后使用aesKey进行AES的ECB模式加密。
在这里插入图片描述

4、第五步

滑块验证码验证成功之后,就可以请求getPublicKey接口,获取PublicKey,然后将密码进行RSA加密,加密之后请求login接口即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1884834.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows10如何打开开发者模式

按键盘上的win键或者点击屏幕左下角的开始图标,即可出现如下的界面 在打开的界面中找到设置按钮,点击设置按钮 进入windows设置界面后,找到‘更新和安全’的选项,随后点击进入 进去后在左侧的功能列表中找到‘开发者选…

8N10 惠海 100V 8A HG160N10L TO-252封装 打火机-加湿器N沟道MOS管

MOS管是金属-氧化物-半导体场效应晶体管,或者称为金属-绝缘体-半导体。MOS管的工作原理主要是利用加在栅极(G)上的电压(VGS)来控制“感应电荷”的多少,从而改变由这些“感应电荷”形成的导电沟道的状况&…

安捷伦B2902A精密电源/测量单元KEYSIGHT是德B2902A数字源表

Agilent B2902A、Keysight B2902A、HP B2902A 精密电源/测量单元,2 通道,100 fA,210 V,3 A 直流/10.5 A 脉冲 Agilent B2902A 精密源/测量单元 (SMU) 是一款 2 通道、紧凑且经济高效的台式 SMU,能够提供和测量电压和电…

基于Java中的SSM框架实现大学生就业预测系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现大学生就业预测系统演示 摘要 科技不断飞速发展,人类文明走向一个又一个的高峰。在科技进步的浪潮中,计算机技术得到了巨大的发展,随着技术的完善,生产成本的降低,计算机走进千家万户。计算机…

录屏软件哪个好用?分享5款(2024最新)

随着网络时代的发展,电脑的使用频率也越来越高,还有近些年出现的网课、直播等,这让电脑的录屏功能显得更重要。随之而来的录屏软件也越来越多样化,选择一款好的软件是录屏至关重要的环节。 在数字浪潮汹涌的时代,录屏…

【Tech Point】

ARM加速LLama C 加速对象 LLama C 加速对象 LLama C 关键技术: 使用neon加速指令进行SIMD操作;优化数据排布,降低数据读取的中断

挑战与成长:面对他人成就引发的焦虑与迷茫

挑战与成长:面对他人成就引发的焦虑与迷茫 对于追求知识和技能的人来说,看到他人做出自己尚未达到的成就确实会带来焦虑感。这种焦虑常常源于对自己能力的质疑和对未来的不确定性。 在我的学习和发展过程中,有时确实会看到其他模型或系统能…

mdb转gdb实现过程介绍(1)mdb地理数据库结构解析和gdb库的创建

内容提示: mdb数据转出为gdb,应保留原mdb的库体结构。库体结构中,应该正确处理数据集、要素类和表之间的结构。 数据集:保持数据集结构; 要素类:要素类位于mdb根目录或数据集下; 表:…

MySQL InnoDB Cluster 高可用集群部署

MySQL InnoDB Cluster 简介 官方文档:https://dev.mysql.com/doc/refman/8.4/en/mysql-innodb-cluster-introduction.html 本章介绍 MySQL InnoDB Cluster,它结合了 MySQL 技术,使您能够部署和管理完整的 MySQL 集成高可用性解决方案。 说…

Labview绘制柱状图

废话不多说,直接上图 我喜欢用NXG风格,这里我个人选的是xy图。 点击箭头指的地方 选择直方图 插值选择第一个 直方图类型我选的是第二个效果如图。 程序部分如图。 最后吐槽一句,现在看CSDN好多文章都要收费了,哪怕一些简单的入…

运营商如何通过PCDN技术提高用户服务?

着互联网的快速发展,用户对网络速度和质量的要求越来越高。为了满足这些需求,内容分发网络(CDN)成为了关键的基础设施。而在CDN技术中,PCDN(PersonalCDN)作为一种新兴的技术,为运营商和用户提供了新的解决方案。本文将重点介绍PCD…

vue3中使用Antv G6渲染树形结构并支持节点增删改

写在前面 在一些管理系统中,会对组织架构、级联数据等做一些管理,你会怎么实现呢?在经过调研很多插件之后决定使用 Antv G6 实现,文档也比较清晰,看看怎么实现吧,先来看看效果图。点击在线体验 实现的功能…

图形的搭建

例一: 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。 输出描述: 针对每行输入,输出用“*”组成的X形图案。 示例一&…

macos m2 百度paddleocr文字识别 python

创建了一个虚拟环境:conda create -n orc python3.11.7 进入虚拟环境后执行2条命令 pip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simple pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple​ ​ 安装好后,在网…

VUE2及其生态查漏补缺

1、数据代理概括 数据代理过程相当于是进行了 vm 代理 vm_data中的属性,vm._data 是与 我们vue文件中写的 data是全等的 //创建Vue实例let data { //data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。name:atguig…

[C++][设计模式][迭代器模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素; 同时这种”透明遍历“也…

每天五分钟深度学习:解决for循环效率慢的关键在于向量化

本文重点 上一节课程中,我们学习了多样本的线性回归模型,但是我们的伪代码实现中使用了大量的for循环,这样代码的问题是效率很低。为了克服这一瓶颈,向量化技术应运而生,成为提升程序执行效率、加速数据处理速度的重要手段。 向量化技术概述 向量化(Vectorization)是…

DC/AC电源模块:为智能家居设备提供恒定的电力供应

BOSHIDA DC/AC电源模块:为智能家居设备提供恒定的电力供应 DC/AC电源模块是一种常见的电源转换器,它将直流电源(DC)转换为交流电源(AC),为智能家居设备提供恒定的电力供应。在智能家居系统中&a…

用 AI 生成绘本,含大量 prompt

画图过程,为了保证绘本输出的风格统一,角色连贯,画面内容与故事保持一致 1、画风统一的解决办法:固定一个插画师的风格,可以输入插画师的名字,或者垫图,即上传你需要借鉴风格的图片 2、角色连贯…

探索IT世界的第一步:高考后的暑期学习指南

目录 前言1. IT领域概述1.1 IT领域的发展与现状1.2 IT领域的主要分支1.2.1 软件开发1.2.2 数据科学1.2.3 网络与安全1.2.4 系统与运维 2. 学习路线图2.1 基础知识的学习2.1.1 编程语言2.1.2 数据结构与算法 2.2 实战项目的实践2.2.1 个人项目2.2.2 团队项目 2.3 学习资源的利用…