【爬虫逆向实战 逆向滑块 Python+Node】今天逆向的网站有点嘿嘿,还是仅供学习,别瞎搞

news2024/11/16 6:30:16

逆向日期:2024.03.01

使用工具:Node.js、Python

加密方法:AES标准算法

文章全程已做去敏处理!!!  【需要做的可联系我】

AES解密处理(直接解密即可)(crypto-js.js 标准算法):在线AES加解密工具

仅供学习,仅供学习,不附源码,全程图片代码
1、打开某某网站(请使用文章开头的AES在线工具解密):/liDZBx6bZua7bit+Hewycjp4zAJsK6BUD1nuOunNn2RGuyWRfvGrfc+U+6GvvGc
2、我们打开网站后,输入纳税人编号,可以去企查查里拿公开的,必须是山西地区的哦,因为这个网站只能查山西地区的,然后点击查询,会看到有一个滑块让你验证,将滑块划到正确位置,,,然后在控制台可以看到,共发送了四次请求,我来和大家一个一个讲一下
【第一个api】:荷载的信息都是固定的,【ts】是有一个13位的时间戳,分析图下方。。。这个接口的作用就是发放无权限token和验证信息

【第二个api】:载荷的信息只有【token】和【pointJson】会变动。。【token】可在第一个api里获取。。【pointJson】需要模拟算法生成。。。这个接口的作用就是 验证滑块是否成功,并给之前的token赋予访问权限

【第三个api】:荷载信息只有【captchaVerification】【nd】【NSR】会变动。【captchaVerification】需要模拟算法去生成。【nd】是个13位的时间戳。【NSR】是你要查询的纳税人识别号。。。。这个api的作用是使用已授权的token进行访问数据

【第四个api】:这个就不用讲了,这个api和第一个api是一样的作用,,当你信息验证失败或你主动刷新滑块验证码的时候,就会有这个请求,,作用和第一个一样,只是会重新给你一套全新的信息,比如token、滑块的图片.....
3、已知第一个api是生成信息,无需模拟算法生成,,那我们直接去模拟第二个api的【pointJson】这个是需要通过算法去生成的,,直接全局搜索大法,找到了,他是把你滑动的距离进行了一个加密,密钥使用的第一个api内获取的,加密的参数是你滑动滑块的距离,然后经过一个简单的算法运算后得出一个参数【{"x":101.525,"y":5}】

4、我们继续跟栈走,没想到呀,他用的是一个AES加密方法,而且还没有混淆,这感情好呀,我们直接本地模拟去

5、因为js代码较少,所以我将js代码写进了python里,方便直接调用,省去了读取加载步骤

6、在这里讲一下为什么我上面要将计算出的滑块【距离乘于1.3】,看下面图,我将原网站的滑块背景图在新标签页中打开后,发现距离不一样

7、我们接下来搞第三个api接口,这个接口就是用来获取最终数据的,但我们还要去模拟【captchaVerification】参数值,其他的参数你们都懂,仍然一样,全局搜索,,没想到呀,算法竟然一样的,直接用上一个算法就可以,只不过加密的参数多了一个token,仍然简单,直接模拟去

8、都模拟完成了,允许测试,妥了,成功

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

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

相关文章

大模型生成,Open API调用

大模型是怎么生成结果的 通俗原理 其实,它只是根据上文,猜下一个词(的概率)…… OpenAI 的接口名就叫【completion】,也证明了其只会【生成】的本质。 下面用程序演示【生成下一个字】。你可以自己修改 prompt 试试…

Appium移动端自动化测试-(Java)

目录 环境搭建ADB调试工具adb构成adb工作原理adb常用命令电脑连接多个设备跟模拟器使用adb包名与界面名的概念如何获取包名和界面名文件传输获取app启动时间获取手机日志其他命令 Appium全自动化测试框架(python)冲错了序言 环境搭建Appium客户端安装App…

IDEA切换 Springboot初始化 URL

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…

【矩阵】【方向】【素数】3044 出现频率最高的素数

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 素数 矩阵 方向 LeetCode 3044 出现频率最高的素数 给你一个大小为 m x n 、下标从 0 开始的二维矩阵 mat 。在每个单元格,你可以按以下方式生成数字: 最多有 8 条路径可以选择:东&am…

C语言基础(三)——函数

六、函数 6.1 函数的声明与定义—嵌套调用 6.1.1 函数的声明与定义 函数间的调用关系是,由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以背一个或多个函数调用任意次。 下例中有两个c文件, func.c是子函数printstar和print_me…

光伏气象站的组成

TH-FGF9光伏气象站主要由以下几个部分组成: 光伏组件:光伏组件是光伏气象站的核心部分,其主要功能是将太阳能转化为电能,为气象站的各项设备提供电源。光伏组件通常由多个光伏电池板组成,能够有效地吸收并利用太阳能。…

C++:String类的使用

创作不易,感谢三连!! 在C语言中,我们想要存储字符串的话必须要用字符数组 char str[]"hello world"这其实是将在常量区的常量字符串拷贝到数组中,我们会在数组的结尾多开一个空间存储\0,这样我…

pyuic生成py文件到指定文件夹

pyuic生成py文件到指定文件夹 关于如何在pycharm配置外部工具的方法这里不做赘述,本文主要说明,如何利用pyuic将ui文件生成到指定的项目目录中。 前提条件:已配置的pyuic工具可以正常使用生成文件到目录中。 一、打开外部工具配置页面 打开…

吸猫毛空气净化器哪个好?推荐除猫毛好的宠物空气净化器品牌

如今,越来越多的家庭选择养宠物!虽然家里变得更加温馨,但养宠可能会带来异味和空气中的毛发增多可能会引发健康问题,这也是一个大问题。 但我不想家里到处都是异味,尤其是便便的味道,所以很需要一款能够处…

android Service 与 activity 通信 并不断传数据

注:这只是个Demo 以下载为案例,实现开启下载,暂停下载,下载进度不断发送给activity class DownloadService : Service() {override fun onBind(intent: Intent?): IBinder? {return MyBinder()}inner class MyBinder : Binder…

mysql学习--binlog与gtid主从同步

基础环境 基于centOS7-MySQL8.0.35版本 我们先准备一台主服务器两台从服务器来实现我们主从同步的诉求 Master:192.168.75.142 slave1:192.168.75.143 slave:192.168.75.145 binlog主从同步 主库配置 #我们需要在主从库中都需要添加server_id&am…

如何学习、上手点云算法(一):点云基础

写在前面 本文内容 点云算法的学习基础,入门方法,相关领域,资源,开源库,算法等的介绍; 以Open3D和PCL等为基础工具的点云处理代码讲解、实现; 文中涉及的参考以链接形式给出,涉及文…

综合练习(二)

目录 列出薪金比 SMITH 或 ALLEN 多的所有员工的编号、姓名、部门名称、领导姓名、部门人数,以及所在部门的平均工资、最高和最低工资 补充 spool Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 列出薪金比 SMITH 或 AL…

探索数据结构:解锁计算世界的密码

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty‘s blog 前言 随着应用程序变得越来越复杂和数据越来越丰富,几百万、…

LabVIEW最佳传输系统设计

LabVIEW最佳传输系统设计 介绍了基于LabVIEW软件开发的最佳基带传输系统和最佳带通传输系统的设计。通过软件仿真实现了脉冲成形滤波器和匹配滤波器的设计,证明了系统在消除码间干扰和抗噪声方面的优异性能。此设计不仅激发了学生的学习兴趣,还有助于提…

kubernetes最新版安装单机版v1.21.5

k8s集群由Master节点和Node(Worker)节点组成。 1.环境 环境:centos 7资源配置:2c4g (CPU最少2c,不然k8s起不来)docker:25.0.3k8s:1.21.5 2.安装前置环境 [rootbertra…

【Android开发】01-第一个Android APP

一、改MainActivity class MainActivity : AppCompatActivity() {/*因Android的app有生命周期,故入口是OnCreate而不是main函数*/override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main…

Kubernetes的五大开源存储项目

在Kubernetes中,关于数据的持久化管理是一种挑战,对此,社区提供了多种存储的解决方案,这些方案旨在简化和优化容器化应用程序的持久化数据管理。 现介绍 Kubernetes 的五大开源存储项目,带你了解开源存储解决方案的多…

java常用应用程序编程接口(API)——LocalDateTime,LocalDate,LocalTime,ZoneId,ZonedDateTime概述

前言: 在jdk8以后,出现了更多好用的时间相关的api,整理下使用心得。打好基础,daydayup! jdk8以前使用的时间api可以看这篇: java常用应用程序编程接口(API)——Date,SimpleDateForm…

学校机房Dev c++解决中文乱码问题

工具->编译选项->勾选 编译时加入以下命令 -fexec-charsetGBK -finput-charsetUTF-8 显示中文:工具->编辑器选项->去掉第一个的勾勾。