【抓包分析】通过ChatGPT解密还原某软件登录算法实现绕过手机验证码登录

在这里插入图片描述

文章目录

  • 🍋前言
  • 实现效果
  • 成品
  • 广告
  • 抓包分析
    • 一、定位加密文件
    • 二、编辑JS`启用本地替换`
  • 利用Chatgpt进行代码转换
  • 获取计划任务id
  • 模拟数据请求
  • 最后


🍋前言

由于C站版权太多,所有的爬虫相关均为记录,不做深入!
今天发现github上没有这个东西,抓包后发现软件上的安全防护做的很多,通过对比发现cookie和软件接口请求一样,所以可以通过网页接口代替APP接口最后的数据都是一样的

实现效果

APP登录效果
虽然被短信验证码卡住了,但如果能有其他办法跳过我会选择后者
在这里插入图片描述

绕过后效果
通过手机号和密码换算加密后的字符串进行登录换到Cookie 和token
在这里插入图片描述

成品

在这里插入图片描述


广告

🚀Python爬虫项目实战系列文章!!
⭐⭐欢迎订阅⭐⭐

【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)
【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

⭐⭐欢迎订阅⭐⭐
在这里插入图片描述

Python爬虫脚本项目实战
在这里插入图片描述


抓包分析

一、定位加密文件

找到加密js

在这里插入图片描述

代码如下:

var t = $("#t").val();
if(t == "true"){
var transferKey = "u2oh6Vu^HWe4_AES";
pwd = encryptByAES(pwd, transferKey);
console.log(pwd);
}

找到加密方法
在这里插入图片描述

代码如下:

function encryptByAES(message, key){let CBCOptions = {
iv: CryptoJS.enc.Utf8.parse(key),
mode:CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
};
let aeskey = CryptoJS.enc.Utf8.parse(key);
let secretData = CryptoJS.enc.Utf8.parse(message);
let encrypted = CryptoJS.AES.encrypt(
secretData,
aeskey,
CBCOptions
);
return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}

二、编辑JS启用本地替换

1、编辑代码保存开启断点调试
写入console.log(pwd);进行调试,将产生的账号密码,填入我的接口进行请求测试
在这里插入图片描述
2、运行后产生账号和密码
复制产生的加密账号和密码给我的程序接口进行测试登录
在这里插入图片描述
3、复制到接口程序进行测试
返回登录成功以及cookie数据,表明这个数据的确是通过上述方法进行加密的
在这里插入图片描述


利用Chatgpt进行代码转换

由于代码是JS写的,于是我想将他转换成Python,这个事情交到了我的好伙伴Chatgpt的身上了

在这里插入图片描述

from Crypto.Cipher import AES
import base64def encrypt_by_aes(message, key):
key = key.encode('utf-8')
message = message.encode('utf-8')# 使用AES的CBC模式进行加密
cipher = AES.new(key, AES.MODE_CBC, iv=key)# 对消息进行填充(使用PKCS7填充)
block_size = AES.block_size
padded_message = message + (block_size - len(message) % block_size) * chr(block_size - len(message) % block_size).encode()# 加密消息
ciphertext = cipher.encrypt(padded_message)# 返回Base64编码的密文
return base64.b64encode(ciphertext).decode('utf-8')# 在这里设置密钥和消息
transferKey = "u2o****S"
message = "qw******"
phone="15*********9"
# 使用函数进行加密
we = encrypt_by_aes(phone, transferKey)
passw = encrypt_by_aes(message, transferKey)print("加密后的消息:", we)
print("password:", passw)

获取计划任务id

通过cookie换取token后进行请求发送换取pcid and pcmajorid

#获取签到任务idcookies = {'source': '""'
}headers = {'Host': 'sx.chaoxing.com','Connection': 'keep-alive','Upgrade-Insecure-Requests': '1','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_0_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0.1 Mobile/15E148 Safari/604.1','Referer': 'http://i.mooc.chaoxing.com/','Accept-Language': 'zh-CN,zh-Hans;q=0.9',
}params = {'s': '',
}response = requests.get('http://sx.chaoxing.com/dgsx/space', params=params, cookies=cookies, headers=headers)
print(response.text)

模拟数据请求

将数据进行替换

data = {'id': '0','type': '0','pcid': '7**1','pcmajorid': '2***1','address': '广东********号','geolocation': '9*8.5***2,24.4****7','remark': '','workStart': '','workEnd': '','images': '','allowOffset': '3000','offset': 'NaN','offduty': '0','changeLocation': '',
}

发送请求后的模拟结果:

登陆成功
p1: 9**4, p2: 24***2
{"success":true,"msg":"打卡成功","info":{"id":100383225,"status":1}}
打卡成功
{'url': 'http%3A%2F%2Fmooc1-2.***.com%2Fvisit%2Fcourses%2Fstudy%3Fs%3D83e3800a41848cf6c0a327c3a174de78', 'status': True}
登陆成功
p1: **4, p2: 3***
{"success":true,"msg":"打卡成功","info":{"id":100383227,"status":1}}
打卡成功

完结撒花,由于版权问题相关代码,不能放出来,以上仅是一个逆向分析记录

最后

以上就是今天的抓包分析,通过ChatGPT解密还原某软件登录算法实现绕过手机验证码登录的教程,本文章仅用于学习记录

🍋希望你能喜欢我的其他作品
《记一次云之家签到抓包》
《记一次视频抓包m3u8解密过程》
《抓包部分软件时无网络+过代理检测 解决办法 安卓黄鸟httpcanary+vmos》
《Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程)》
《某课抓包视频 安卓手机:黄鸟+某课app+VirtualXposed虚拟框架》

推荐专栏:

《Python爬虫脚本项目实战》

该专栏往期文章:
《【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)》

🥦如果感觉看完文章还不过瘾,欢迎查看我的其它专栏
🥦如果你也喜欢爬虫抓包分析,请关注我,我还完成过很多独立的项目:例如滇医通等等脚本,但是由于版权的原因下架了,爬虫这一类审核比较严谨,稍有不慎就侵权违规了,所以在保证质量的同时会对文章进行筛选

如果对爬虫感兴趣请收藏或者订阅该专栏哦《Python爬虫脚本项目实战》,如果你有项目欢迎联系我,我会同步教程到本专栏!

🚀Python爬虫项目实战系列文章!!
⭐⭐欢迎订阅⭐⭐

【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)
【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

⭐⭐欢迎订阅⭐⭐
在这里插入图片描述

Python爬虫脚本项目实战
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】详解map和set基本接口及使用

文章目录 一、关联式容器与键值对1.1关联式容器(之前学的都是序列容器)1.2键值对pairmake_pair函数(map在插入的时候会很方便) 1.3树形结构的关联式容器 二、set2.1set的基本介绍2.1默认构造、迭代器区间构造、拷贝构造&#xff0…

探秘Spring的设计精髓,深入解析架构原理

序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。” 1、spring的设计理念 spring提供了一个轻量级的开发框架,抽象了实际开发中的很多共…

基于 Redis + Lua 脚本实现分布式锁,确保操作的原子性

1.加锁的Lua脚本: lock.lua --- -1 failed --- 1 success--- getLock key local result redis.call(setnx , KEYS[1] , ARGV[1]) if result 1 then--PEXPIRE:以毫秒的形式指定过期时间redis.call(pexpire , KEYS[1] , 3600000) elseresult -1;-- 如果value相同&…

Python 自动化详解(pyautogui)

文章目录 1 概述1.1 第三方库:pyautogui1.2 坐标说明 2 操作对象2.1 鼠标2.1.1 定位2.1.2 移动2.1.3 拖动2.1.4 滚动2.1.5 点击 2.2 键盘2.2.1 输入2.2.2 按键2.2.3 快捷键 2.3 屏幕2.3.1 截图2.3.2 分辨率 2.4 信息提示2.4.1 提示框2.4.2 选择框2.4.3 密码输入2.4.…

Linux ln命令:建立链接文件

如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的。我们在前面讲解了分区的格式化就是写入文件系统,而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 文件系统。 ext4 …

python爬虫request和BeautifulSoup使用

request使用 1.安装request pip install request2.引入库 import requests3.编写代码 发送请求 我们通过以下代码可以打开豆瓣top250的网站 response requests.get(f"https://movie.douban.com/top250")但因为该网站加入了反爬机制,所以…

大数据-Storm流式框架(六)---Kafka介绍

Kafka简介 Kafka是一个分布式的消息队列系统(Message Queue)。 官网:Apache Kafka 消息和批次 kafka的数据单元称为消息。消息可以看成是数据库表的一行或一条记录。 消息由字节数组组成,kafka中消息没有特别的格式或含义。 消息有可选的键&#x…

业界中说的快速原型法是什么

快速原型法是一种软件开发过程,其核心思想是在开发初期快速构建一个系统的原型,即一个工作模型,以便用户和开发者能够更好地理解系统的需求和功能。这种方法强调快速迭代和用户参与,目的是更早地发现和修正问题,从而提…

世界前沿技术发展报告2023《世界航空技术发展报告》(四)无人机技术

(四)无人机技术 1.无人作战飞机1.1 美国空军披露可与下一代战斗机编组作战的协同式无人作战飞机项目1.2 俄罗斯无人作战飞机取得重要进展 2.支援保障无人机2.1 欧洲无人机项目通过首个里程碑2.2 美国海军继续开展MQ-25无人加油机测试工作 3.微小型无人机…

uni-app配置微信开发者工具

一、配置微信开发者工具路径 工具->设置->运行配置->小程序运行配置->微信开发者工具路径 二、微信开发者工具开启服务端口

Nginx的进程结构实例演示

可以参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx 1.14.0。 nginx.conf文件中worker_processes 2;这条语句表明启动两个worker进程。 sudo /nginx/sbin/nginx -c /nginx/conf/nginx.conf开启nginx。 ps -ef | grep nginx看一下进程情况。 sudo /nginx/sbin/ng…

NNDL:作业五

习题4-1 对于一个神经元,并使用梯度下降优化参数w时,如果输入x恒大于0,其收敛速度会比零均值化的输入更慢. 证明: 激活函数以sigmoid为例。 神经元:有两层,线性层和激活层:yw*xb,然后y‘sigmoid(y),也就是。 梯度…

ES性能优化最佳实践- 检索性能提升30倍!

Elasticsearch是被广泛使用的搜索引擎技术,它的应用领域远不止搜索引擎,还包括日志分析、实时数据监控、内容推荐、电子商务平台、企业级搜索解决方案以及许多其他领域。其强大的全文搜索、实时索引、分布式性能和丰富的插件生态系统使其成为了许多不同行…

Web3 治理实践探讨:如何寻找多元化发展路径?

Web3 领域变革正崭露头角,而社区治理开始成为行业热议话题。Web3 项目如何探寻多元化建设的解困路径,究竟是治理模型的精进成为首要问题,还是吸纳更多资金与组织教育培训,让开发者成为项目建设的中坚力量?本期 TinTinW…

论文-分布式-分布式计算|容错-分布式控制下的自稳定系统

参考文献Self-stabilizing systems in spite of distributed control可以把松散耦合的 循环序列过程 间的同步任务,看成是要保持一个这样的不变性:“系统要处于一种合法状态”因此每个进程在运行每一个可能会改变不变性的步骤之前都要先检查一下是可以执…

Error: no matching distribution found for tensorflow-cpu==2.6.*

目录 install_tensorflow()安装过程中遇到的问题 查找解决方案过程中: 解决办法: install_tensorflow()安装过程中遇到的问题 在服务器上安装tensorflow时,遇到了一个报错信息: 在网上找到一个类似的错误(TensorFlow…

米软科技客户单病种上报量云南省第一

近日米软获悉,在云南省统计的单病种上报情况中,截止2021年11月15日,上线单病种系统不足半年的红河州第一人民医院(云南省滇南中心医院)以占全省上报总数5%的22950例,遥遥领先于同省各家二三级医院。 全省上…

机器学习之查准率、查全率与F1

文章目录 查准率(Precision):查全率(Recall):F1分数(F1 Score):实例P-R曲线F1度量python实现 查准率(Precision): 定义: …

深度学习与计算机视觉(一)

文章目录 计算机视觉与图像处理的区别人工神经元感知机 - 分类任务Sigmoid神经元/对数几率回归对数损失/交叉熵损失函数梯度下降法- 极小化对数损失函数线性神经元/线性回归均方差损失函数-线性回归常用损失函数使用梯度下降法训练线性回归模型线性分类器多分类器的决策面 soft…

前端移动web高级详细解析二

移动 Web 第二天 01-空间转换 空间转换简介 空间:是从坐标轴角度定义的 X 、Y 和 Z 三条坐标轴构成了一个立体空间,Z 轴位置与视线方向相同。 空间转换也叫 3D转换 属性:transform 平移 transform: translate3d(x, y, z); transform…