requests,js逆向练习
自上而下排除jquery源码,点进去utils

发现第一次请求是getTime
再次运行此断点才是登录,这个时候密码已经被加密了
查看上级js页面,发现加密函数

进去看函数加密过程
得到结果RSA
python代码
import base64
import jsonimport requests
from fake_useragent import UserAgent
from Crypto.Cipher import PKCS1_v1_5
from Crypto.PublicKey import RSAfrom spider_WE.utils.tujian import crack_code_img_b64username = '账号'
password = '密码'
headers = {'User-Agent': UserAgent().random,'Content-Type': 'application/json; charset=utf-8'
}
# 1.进入登录页->加载cookie
session = requests.session()
resp = session.get('https://user.wangxiao.cn/login')# 2.获取验证码->打码平台
verify_code_url = 'https://user.wangxiao.cn/apis//common/getImageCaptcha'
verify_resp = session.post(verify_code_url, headers=headers)
verify_data = verify_resp.json()
verify_b64_img = verify_data['data'].split('base64,')[-1]
verify_code = crack_code_img_b64(verify_b64_img, 3)# 3.把密码加密
get_time_url = 'https://user.wangxiao.cn/apis//common/getTime'
get_time_resp = session.post(get_time_url, headers=headers)
get_time_data = get_time_resp.json()['data']
pwd = password + str(get_time_data)
pub_key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA5Zq6ZdH/' \'RMSvC8WKhp5gj6Ue4Lqjo0Q2PnyGbSkTlYku0HtVzbh3S9F9oHbxeO55E8tEEQ5wj/' \'+52VMLavcuwkDypG66N6c1z0Fo2HgxV3e0tqt1wyNtmbwg7ruIYmFM+dErIpTiLRDvOy+0vgPcBVDfSUHwUSgUtIkyC47UNQIDAQAB'
rsa_key = RSA.import_key(base64.b64decode(pub_key))
# 加密
rsa = PKCS1_v1_5.new(rsa_key)
crypto = rsa.encrypt(pwd.encode('utf-8'))
crypto_pwd = base64.b64encode(crypto).decode('utf-8')# 4.登录
login_url = 'https://user.wangxiao.cn/apis//login/passwordLogin'
login_data = {'imageCaptchaCode': verify_code,'password': crypto_pwd,'userName': username
}
login_resp = session.post(login_url, data=json.dumps(login_data), headers=headers)
login_info = login_resp.json()['data']# 5.对登录后的cookie信息进行整理
cookie_dic = {"autoLogin": "null","OldPassword": login_info['passwordCookies'],"OldPassword_": login_info['passwordCookies'],"OldUsername": login_info['userNameCookies'],"OldUsername_": login_info['userNameCookies'],"OldUsername2": login_info['userNameCookies'],"OldUsername2_": login_info['userNameCookies'],f"{login_info['userName']}_exam": login_info['sign'],"token": login_info['token'],"UserCookieName": login_info['userName'],"UserCookieName_": login_info['userName'],"userInfo": login_info,"sessionId": session.cookies.get("sessionId")
}
相关文章:
requests,js逆向练习
自上而下排除jquery源码,点进去utils 发现第一次请求是getTime 再次运行此断点才是登录,这个时候密码已经被加密了 查看上级js页面,发现加密函数 进去看函数加密过程 得到结果RSA python代码 import base64 import jsonimport requests f…...
Chrome 插件调试
http://blog.haoji.me/chrome-plugin-develop.html#te-bie-zhu-yi-background-de-bao-cuo 手把手:Chrome浏览器开发系列(四):调试我们开发的插件 - 掘金...
云轴科技ZStack成为交通运输业上云用云推进中心首批成员单位
近日,中国信息通信研究院、中国交通运输协会信息专业委员会联合发起成立“交通运输业上云用云推进中心”,上海云轴信息科技有限公司(简称云轴科技ZStack)凭借优秀的产品技术创新能力和在交通运输领域的实践经验成为首批成员单位并…...
代码随想录算法训练营31期day4,力扣24+19+02.07+142
24,动指针 class Solution { public:ListNode* swapPairs(ListNode* head) {//建立虚拟头结点auto dummynew ListNode(-1);dummy->nexthead;for(auto pdummy;p->next&&p->next->next;){auto ap->next;auto ba->next;p->nextb;a->n…...
eNSP学习——利用单臂路由实现VLAN间路由
目录 原理概述 实验内容 实验目的 实验步骤 实验拓扑 实验编址 配置步骤 创建VLAN并配置Access、Trunk接口 配置路由器子接口和IP地址 配置路由器子接口封装VLAN 测试结果 原理概述 在以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响&#…...
ISO27001认证:企业与个人发展的必备之选
ISO27001认证,对于企业和个人来说,都具有极高的价值和重要性。作为国际权威的信息安全管理体系标准,它为企业提供了保障信息安全、防范风险和提升竞争力的有力工具。 💼对企业的价值: ISO27001认证可以帮助企业满足国家…...
SpringBoot使用druid
SpringBoot使用druid 一、前言二、配置1、pom依赖2、配置文件yml3、配置类 一、前言 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C…...
TongWeb8交流常见问答集
问题1:今后用到你们TongWeb产品该联系谁? 答复: 1. 商务问题,如:报价、license授权、合同等请联系销售。 2. TongWeb技术问题,未签项目联系售前,已签项目联系售后。有指定项目经理的项目&…...
GBASE南大通用分享-mysql中的load data infile用法
GBASE南大通用分享 mysql中的load data infile用法 LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE file_name.txt [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY \t] [OPTIONALLY] ENCLOSED BY ] [ESCAPED BY \\ ]] [LINES TERMINATED BY \n] [IGNORE number L…...
Ubuntu18编译jdk8源码
环境 系统 ubuntu18 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux jdk源码openjdk-8u41-src-b04-14_jan_2020.zip bootJdk jdk-8u391-linux-x64.tar.gz ps -e|grep ssh sudo apt-get install ssh…...
《开始使用PyQT》 第01章 PyQT入门 02 安装Python3和PyQT6
02 安装Python3和PyQT6 《开始使用PyQT》 第01章 PyQT入门 02 安装Python3和PyQT6 So that all readers are on the same page, let’s begin by installing or updating your version of Python. 为了让所有读者都能理解,让我们从安装或更新 Python 版本开始。 …...
Java集合-Map接口(key-value)
Map接口的特点:①KV键值对方式存储②Key键唯一,Value允许重复③无序。 Map有四个实现类:1.HashMap类2.LinkedHashMap类3.TreeMap类4.Hashtable类 1.HashMap类: 存储结构:哈希表 数组Node[ ] 链表(红黑…...
【操作系统】实验九 写一个设备驱动程序
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…...
基于密码技术的身份认证——基于对称密码体制的身份认证
一、符号说明: A→B:表示通信实体A向通信实体B发送消息; Ek(x):表示用认证双方共享的密钥K对x进行加密; Text1,Text2,……,Text n属于可选项; ||:表示比特…...
算法36:单调栈结构、子数组最小乘积的最大值问题(力扣1586)----单调栈
单调栈:就是在栈中实现数据的单调性。即从栈底到栈顶,要么递增,要么递减。 那么,使用单调栈,可以解决什么问题呢? 给定一个可能含有重复值的数组arr,i位置的数一定存在如下两个信息 1&#x…...
django mysql in 有序返回
from django.db.models import * ordering f"FIELD(id, {,.join([str(_) for _ in ids])})" # 默认就按照算法返回的 id 排序p_data_result PeptidesDataResult.objects.using("polypeptide").filter(id__inids).values().extra(select{ordering: orderi…...
c++24.1.26嵌套if语句
嵌套if语句:if语句中的if语句 实践:...
机器学习--基础概念(二)
1.分类算法 分类算法是有监督学习的一个核心问题,他从数据中学习一个分类决策函数或分类模型,对新的输入进行预测,输出变量取有限个离散值。 以下是一些常见的分类算法: 逻辑回归 (Logistic Regression): 用于二分类问题&#x…...
Ubuntu20.04 安装 ROS noetic + MAVROS
本文在 AlphaCatOvO【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程 基础上,根据实际安装经验,稍微进行补充。 一、安装Ubuntu20.04 假设已经正确安装。 二、安装 ROS noetic 2.1 换源 执行 sudo apt update sudo mv /etc/apt/sources.list /etc/apt/…...
【数学笔记】一元n次不等式,分式不等式,绝对值不等式
不等式 基本性质 一元n次不等式一元二次不等式一元高次不等式分式不等式绝对值不等式 基本性质 性质 a > b ⇔ b < a a>b\Leftrightarrow b<a a>b⇔b<a a > b , b > c ⇒ a > c a>b,b>c\Rightarrow a>c a>b,b>c⇒a>c a > b ,…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
