某mps政务网站jsl加速乐cookie逆向解析

本文针对的目标网站如下,使用base64解密获得
aHR0cHM6Ly93d3cubXBzLmdvdi5jbi8=

开篇:加速乐其实算是比较好处理的逆向问题了,了解过的朋友都知道,其本身跟瑞数相似,都是设置cookie后才能成功,设置cookie的过程远比瑞数要简单的多,接下来我们看具体问题

首先清除掉浏览器cookie,刷新网站后,会看到三次请求过程
在这里插入图片描述
第三次才请求成功,我们先看最后一个请求成功的请求cookie,需要附带两个cookie才能请求成功
在这里插入图片描述
这里的第一个cookie不需要解密,在第一次请求后就会返回响应cookie,那么我们只需要分析第二个cookie的生成即可
在这里插入图片描述

我们逐步分析每一个请求中的响应
在这里插入图片描述

第一个请求中只返回一个script标签,可以看到,里面的js代码已经对docuemnt.cookie进行赋值了,这里的值用的aaencode加密,我们把这段代码直接放到本地来运行,并补齐一下里面缺少的环境,因为这段代码是动态生成的,所以我们也动态的返回cookie

补环境代码:

document = {};
location = {pathname: '/article/details/132409595',search: ''
};{jscode} //替换的代码function get_cookie() {return document.cookie;
}

成功拿到cookie后,我们进行第二次请求,我们发现这次返回了一大串js
在这里插入图片描述

同样使用第一次的方法,将环境补齐,动态替换后,也能达到第二次的cookie,代码如下:

window = global;navigator = {userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}document = {}
location = {"ancestorOrigins": {},"href": "https://crawler.blog.csdn.net/article/details/132409595","origin": "https://crawler.blog.csdn.net","protocol": "https:","host": "crawler.blog.csdn.net","hostname": "crawler.blog.csdn.net","port": "","pathname": "/article/details/132409595","search": "","hash": ""
}{jscode} // 替换的代码setTimeout(function() {console.log(document.cookie);
}, 2000);

注意:因为发现第二次的js代码中对cookie赋值,是一个定时器,为了不破坏原代码,我这里选择用命令行执行js代码,通过获取命令行输出的方式来获取cookie

在这里插入图片描述
上图为延迟生成的cookie

接着,我们将代码整合一下,使用python

import requests
import execjs
import re
import subprocess
session = requests.session()
jsl1 = open("jsl.js", "r", encoding="utf8").read()
jsl2 = open("jsl2.js", "r", encoding="utf8").read()
headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7','Accept-Language': 'zh-CN,zh;q=0.9','Cache-Control': 'no-cache','Connection': 'keep-alive',# 'Cookie': '__jsluid_s=eb68cf3b6f222e7557c5ac0eb5c89f23; __jsl_clearance_s=1704942137.095|0|Q0rq1qKDyBDFY0fr70q51w%2Bhk9M%3D','Pragma': 'no-cache','Referer': 'https://www.mps.gov.cn/n2254098/n4904352/index_3497341_70.html','Sec-Fetch-Dest': 'document','Sec-Fetch-Mode': 'navigate','Sec-Fetch-Site': 'same-origin','Upgrade-Insecure-Requests': '1','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36','sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"','sec-ch-ua-mobile': '?0','sec-ch-ua-platform': '"Windows"',
}response = session.get('https://www.mps.gov.cn/n2254098/n4904352/index_3497341_70.html', headers=headers)
print(response)
pattern = re.compile('<script>(.*?)</script>', re.S)
result = pattern.findall(response.text)
if result:jscode = result[0]# print(jscode)jsl1 = jsl1.replace("{jscode}", jscode)
jsl1 = execjs.compile(jsl1)
jslcookie1 = jsl1.call("get_cookie")
jslcookie1 = jslcookie1.split(";")[0]
cookie_key, cookie_value = jslcookie1.split("=")# print(jslcookie1)
session.cookies.update({cookie_key: cookie_value})
response = session.get('https://www.mps.gov.cn/n2254098/n4904352/index_3497341_70.html', headers=headers)
print(response)
pattern = re.compile('<script>(.*?)</script>', re.S)
result = pattern.findall(response.text)
if result:jscode = result[0]# print(jscode)jsl2 = jsl2.replace("{jscode}", jscode)
with open("jsl2_cookie.js", "w", encoding="utf8") as f:f.write(jsl2)# 执行命令并获取输出
result = subprocess.run(['node', 'jsl2_cookie.js'], capture_output=True, text=True)jslcookie2 = result.stdout.split(";")[0]
cookie_key, cookie_value = jslcookie2.split("=")
session.cookies.update({cookie_key: cookie_value})
# print(jslcookie2)response = session.get('https://www.mps.gov.cn/n2254098/n4904352/index_3497341_70.html', headers=headers)print(response)
# print(response.text)

成功拿到响应
在这里插入图片描述

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

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

相关文章

Python a-shape点云重建(alpha shapes)

目录 一、环境配置二、代码实现三、结果示例接上篇: Python 泊松重建(Poisson Surface Reconstruction) 一、环境配置 使用 pip install open3d 语句来安装open3d 使用 pip install open3d 语句来安装numpy 二、代码实现 import open3d as o3d import numpy as npdef a_sh…

ChatGPT会给教育界带来怎样的冲击,又将与教育碰撞出怎样的火花?

11 月 7 日凌晨&#xff0c;美国人工智能公司 OpenAI 的开发者大会正式开启&#xff0c;创始人 Sam Altman 和其同事&#xff0c;发布了团队最新的成果GPT-4 Turbo&#xff0c;新一代的GPT不仅更快、有更长的上下文、而且更好的控制。而随之推出的「GPTs」——让人们能用自然语…

炫云云模型常见咨询问题TOP榜

在上一期&#xff0c;小编带大家盘点了炫云云渲染软件相关常见咨询问题。这份榜单不仅是对过去一年用户关注焦点的回顾&#xff0c;更是一个汇总了各类问题解答的宝典。无论您是初次使用还是老用户&#xff0c;都能帮助您更快速地解决疑问&#xff0c;提升使用炫云各类产品的便…

Vs2019创建c文件

每一个人都是小白开始学习的&#xff0c;学长本身在开始学习计算机编程以前&#xff0c;也是对编程语言畏之如虎&#xff0c;一头雾水。成长都是有规律的&#xff0c;&#xff0c;都是从不会到会&#xff0c;再从会到熟练。如果要问我为什么&#xff0c;唯有多练习耳&#xff0…

分布式引擎Elasticsearch本地部署并结合内网穿透远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

LeetCode-1822/1502/896/13

1.数组元素积的符号&#xff08;1822&#xff09; 题目描述&#xff1a; 已知函数 signFunc(x) 将会根据 x 的正负返回特定值&#xff1a; 如果 x 是正数&#xff0c;返回 1 。 如果 x 是负数&#xff0c;返回 -1 。 如果 x 是等于 0 &#xff0c;返回 0 。 给你一个整数数组…

详解java中ArrayList

目录 前言 一、ArrayList是什么 二、ArrayList使用 1、ArrayList的构造 2 、ArrayList常见操作 3、 ArrayList的遍历 4、 ArrayList的扩容机制 三、来个练习 前言 当你看到这篇文章我觉得很好笑&#xff0c;因为我开始也不懂ArrayList现在轮到你了&#xff0c;嘻嘻嘻&am…

Redis面试篇

redis面试题主要内容 面试官在面试时主要会问以下这些方面的问题 下面是一些问题示例&#xff1a; redis-使用场景 缓存 缓存穿透 介绍 缓存穿透&#xff1a;查询一个不存在的数据&#xff0c;mysql查询不到数据也不会直接写入缓存&#xff0c;就会导致每次请求都会去查数…

001讲:CAD对话框出现乱码解决方案——CAD知识讲堂

CAD对话框中字体乱码的解决办法&#xff1a; 删掉CAD安装文件目录font字体库的 simsun.ttc 文件&#xff0c;然后彻底关闭CAD&#xff0c;重新打开cad即可解决问题。 如果还不行&#xff0c;对话框出现乱码原来是拷贝CAD字体中存在.TTC和*.TTF格式文件的问题&#xff0c;找到ca…

Egg框架搭建后台服务【1】

需求 博客系统升级&#xff0c;本来是用 express 写的&#xff0c;最近发现 Egg 不错&#xff0c;正好学习升级一下。边学边写。 Ps&#xff1a;相同的功能&#xff0c;迭代的写法&#xff0c;由浅入深&#xff0c;做个记录。 开发 初始化 安装 node版本需要 >14.20.0…

Redis未授权访问漏洞复现与工具安装

目录 一、漏洞简介 二、靶场搭建 三、漏洞检测 四、工具安装 五、远程连接 六、利用Redis写入webshell 七、redis-getShell工具 八、ssh公私钥免密登录 九、其他 一、漏洞简介 redis是一个数据库&#xff0c;默认端口是6379&#xff0c;redis默认是没有密码验证的&…

了解Python中的requests.Session对象及其用途

前言 在Python的网络编程中&#xff0c;requests库是一个非常流行的HTTP客户端库&#xff0c;用于发送各种类型的HTTP请求。在requests库中&#xff0c;requests.Session对象提供了一种在多个请求之间保持状态的方法本文将探讨Python中的requests.Session对象及其用途&#xf…

.net core 6 集成和使用 mongodb

1、安装包 MongoDB.Driver 2、定义顶层类 /// <summary> /// monggodb规范 /// </summary> public abstract class MongoDBToolBase { /// <summary> /// 客户端 /// </summary> protected MongoClient mongoClient { get; private …

联想电脑打开视频显示禁止相机排查

场景&#xff1a; ** 原因排查&#xff1a; ** windows设置>隐私> 电脑 联想管家 > 电池管理

GPT-4:人工智能的新纪元与未来的无限可能

在人工智能的发展史上&#xff0c;GPT-4的问世标志着一个新的里程碑。作为最新一代的自然语言处理模型&#xff0c;GPT-4不仅在技术上取得了突破&#xff0c;更在应用层面展现了前所未有的潜力。本文将探讨GPT-4的核心技术、应用场景以及它对未来社会的潜在影响。 GPT-4的技术…

代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表

刷题建议 刷题建议与debug 代码随想录目前基本都有了视频讲解&#xff0c;一定要先看视频&#xff0c;事半功倍。写博客&#xff0c;将自己的感悟沉淀下来&#xff0c;不然会忘大家提问的时候&#xff0c;记得要把问题描述清楚&#xff0c;自己在哪一步遇到了问题&#xff0c…

老生重谈:大模型的「幻觉」问题

一、什么是大模型「幻觉」 大模型的幻觉问题通常指的是模型在处理输入时可能会产生一些看似合理但实际上是错误的输出&#xff0c;这可能是因为模型在训练时过度拟合了训练数据&#xff0c;导致对噪声或特定样本的过度敏感。 "大数据幻觉"指的是在处理大规模数据时…

Type-C双盲插显示器,无需外挂MOS最简版本

在2021年5月&#xff0c;USB-IF协会破茧而出&#xff0c;发布了全新的USB PD3.1规范&#xff0c;如同凤凰涅槃&#xff0c;将快充功率上限从100 W扶摇直上至240 W。这一壮举不仅让USB PD的影响力渗透到手机、笔记本电脑的领域&#xff0c;更是将其触角延伸至了更为广阔的天地&a…

比较一组等高结构的迭代次数

( A, B )---14-30-2---( 1, 0 )( 0, 1 ) 做一个网路&#xff0c;让B全是0&#xff0c;让A由14张图片组成&#xff0c;且每行只有一个点。收敛误差7e-4.收敛199次统计迭代次数的平均值。 共计算了68组&#xff0c; 序号 迭代次数 1 15822.83 9 1 1 1 1 1 2 15981.4…

回顾2023,立2024flag

文章目录 回顾2023与CSDN相识专栏整理数据回顾 立2024flag 回顾2023 在过去的一年里&#xff0c;前端技术不断演进和创新。新技术、新框架层出不穷&#xff0c;给前端工程师提供了更多选择和挑战。2023年已经成为过去&#xff0c;回首这一年&#xff0c;我们也经历了许多挑战和…