某和医院招采系统web端数据爬取, 逆向js

目标网址:https://zbcg.sznsyy.cn/homeNotice

测试时间: 2024-01-03

1 老规矩,打开Chrome无痕浏览,打开链接,监测网络,通过刷新以及上下翻页可以猜测出数据的请求是通过接口frontPageAnnouncementList获取的,查看返回可以看出来数据大概率是经过aes加密的,如图:

通过查看该请求的请求头可以发现该请求里携带了Aeskey请求头,对应值为字符串,看到这些信息其实已经可以大概猜出来加密方式了,应当为aes加密,请求头携带加密key方式来进行数据的传输,接下来我们进行断点来验证我们的猜想

2 复制aesKey字符串去js文件中搜索下出现的地方,分析下可能的代码段,并下断点,通过上下翻页来查看是否断下

3 通过翻页发现代码此处断下,分析参数可以看到该方法应当是对应的网络请求,所需参数如下:{"noticeName":null,"pageNum":3,"pageSize":10,"tenderCategory":"6","noticeType":null,"tenderClass":null}

4 通过分析代码,可以看到整个流程应该是这样的,随机生成16长度的0到F的字符串,然后以该随机串当做aes的秘钥进行加密得到content字段对应的内容,另外再使用RSA加密算法使用公钥p对随机字符串进行加密得到aesKey字段对应的值,  话不多说,直接代码开始调试,博主对前端不太了解,一般都是通过pycharm中调用js函数来调试前端代码:

可以看到参数已经经过加密了

5 使用requests库编写请求代码:

此处已经可以看到正确的返回了

6 接下来根据加密方法编写对应的解密方法对返回数据进行解密, js文件中增加如下解密方法:

py文件中尝试调用解析方法:

发现content-type报错,尝试修改请求头:

至此,主要内容已经叙述完毕了,感兴趣的小伙伴欢迎收藏点赞,谢谢大家

本文仅做学习交流使用,如做他用,后果自负

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

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

相关文章

014、枚举与模式匹配

枚举类型,通常也被简称为枚举,它允许我们列举所有可能的值来定义一个类型。在本篇文章中,我们首先会定义并使用一个枚举,以向你展示枚举是如何连同数据来一起编码信息的。 接着,我们会讨论一个特别有用的枚举&#xff…

提升设计效率:全面了解如何使用Figma插件

Figma组件库包括颜色、字体、图标、按钮、阴影、圆角、间距等。当Figma组件库的样式和Figma组件达到一定数量时,将难以维护,设计和开发的对接成本将大大提高。Figma可以在同一母版下单独设置样式,而不影响与母版之前的关系,这是Sk…

9.java——(杂例)组合,代理,向上转型static,fianl,关键字(有道云笔记复制粘贴,大家整体性的把握)

组合——内部有类(心中有对象!!!)(足球 和足球运动员梅西和脚下的足球一样) has和is的区别,has是组合,是有,持有的意思;is是继承,是…

C++八股学习心得.3

1.C 数组 C 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个…

实时计算大作业kafka+zookeeper+storm+dataV

第一章 总体需求 1.1.课题背景 近年来,大数据称为热门词汇,大数据分析随着互联网技术的发展愈加深入电商营销之 中,越来越多的电商企业利用大数据分析技术,利用信息化对产业发展营销方向进行确定, 对电子商务行…

双碳管理系统任务需求分析(第10套)

需求规格说明书 一、引言 (一)项目背景 编写本需求规格说明书的目的是为了详细呈现碳足迹产品需求和系统的功能描述,以进一步定制应用软件系统开发的细节问题,便于与项目开发协调工作。本文档面向的读者主要是项目委托单位的管…

git rebase(变基)应用场景

文章目录 git rebase(变基)应用场景1.git rebase -i HEAD~3 git rebase(变基)应用场景 使得提交记录变得简洁 现在我们模拟我们有多次提交记录,本地仓库有三条提交 整合成一条提交记录 1.git rebase -i HEAD~3 提交记录合并 HEAD~3合并三条记录 执行之后 然后把…

事实就是这么残酷,分享一个案例投资者是怎么一步步失败

都说交易市场要学会斗智斗勇,但fpmarkets澳福提醒交易者要始终记住,买的没有卖的精,下面就分享一个案例,让各位投资者知道现实就是这么残酷,一些无良的资本是怎么一步步让投资者失败的。 当在整个交易市场中渐渐地&am…

清风数学建模笔记-时间序列分析

内容:时间预测分析 一.时间序列 1.时点时间序列 2.时期时间序列:可相加 二.时间趋势分解 1.季节趋势 拓展:百度指数: 2.循环变动趋势(和季节很像但是是以年为单位) 3.不规则变动趋势(像扰…

《深入理解C++11:C++11新特性解析与应用》笔记八

第八章 融入实际应用 8.1 对齐支持 8.1.1 数据对齐 c可以通过sizeof查询数据的长度,但是没有对对齐方式有关的查询或者设定进行标准化。c11标准定义的alignof函数可以查看数据的对齐方式。 现在的计算机通常会支持许多向量指令,4组8字节的浮点数据&a…

离线Vscode 安装完成后 添加到右键菜单

复制下面代码,修改文件后缀名为:reg Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\_Porgram_IT\\VsCode\\Code.exe"[HKEY_CLASSES_ROOT\*\shell\VSCode\comman…

AI:110-基于深度学习的药物分子结构生成与预测

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

填充点云孔洞(较大的洞)halcon算法

前言 很多时候,一些小洞可以通过平滑算法,或者三角化算法的参数调整,即可对较小的孔洞进行填充,但是较大的洞却很难通过上面的算法进行填充。 下面介绍一种填充孔洞的思路: 步骤一:对点云进行滤波处理,找到孔洞所在平面 本文为了更直观的进行讲解,去掉了去除噪声和…

数读中国这十年:研发经费超3万亿元 创新引领显成效

摘要:本文转载自新华社。 新华社北京12月22日电 题:研发经费超3万亿元 创新引领显成效 新华社记者 陈炜伟、潘德鑫 这是2023年6月11日在青海省海西蒙古族藏族自治州格尔木市拍摄的一座光热电站(无人机照片)。新华社记者 张宏…

Linux高级玩家必备sos_report-尚文网络xUP楠哥

进Q群11372462领取专属报名福利! # 什么是sos sos 是红帽技术支持工程师在执行任务时的常见起点分析 RHEL 系统的服务请求。 该实用程序提供了一种标准化的方式来收集红帽支持工程师可以在整个调查过程中参考的诊断信息支持案例中报告的问题。 使用 sos 报告实用程序有助于确…

亚马逊站内广告位置在哪设置?怎么设置广告位置?-站斧浏览器

亚马逊站内广告位置在哪设置? 亚马逊提供了多种广告类型,包括: Sponsored Products(赞助产品):在搜索结果和商品详情页中展示。 Sponsored Brands(赞助品牌):在搜索结…

Fast R-CNN

Fast R-CNN算法流程 对比与R-CNN其在第二步时并没有将所有的候选区域进行逐个的CNN特征提取,而是直接将整个图片进行一次CNN特征提取,让后再将候选区映射到feature map上。可想而知速度得到了提升。这里的ROI pooling层缩放到7x7就是将候选区域对应的特征…

通过聚道云软件连接器实现销帮帮软件与i人事软件的智能对接

客户介绍 某软件行业公司是一家专业从事软件技术服务、软件开发、应用解决方案、业务流程优化、专业服务的高科技企业。公司拥有一支经验丰富、技术精湛的服务团队,具备多年的软件开发和应用解决方案经验。他们不断追求技术的创新和进步,以满足客户不断…

Sectigo与Geotrust ov多域名证书的区别

Sectigo和Geotrust都是比较知名的CA认证机构。其中,Sectigo原名Comodo,在2018年整合SSL证书业务,改名为Sectigo,旗下的SSL证书产品根证书也变为Sectigo。Geotrust则是另一个备受信任的数字证书品牌,现在是Digicert旗下…

C语言注意点(4)

1、void *a是什么意思 答&#xff1a;泛型指针&#xff0c;但不规定其类型(就是地址确定&#xff0c;但数据长度不确定)在动态分配内存时&#xff0c;malloc的返回值就是该类型&#xff0c;方便用户进行强制转换。 2、VS怎么一键规范格式 for(i0;i<10;i)enter后&#xff0c;…