网站数据加密之Hook通用方案

文章目录

  • 1. 写在前面
  • 2. 请求分析
  • 3. 编写Hook
  • 4. 其他案例

【作者主页】:吴秋霖
【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作!
【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建与开发实战》
还有未来会持续更新的验证码突防、APP逆向、Python领域等一系列文章

1. 写在前面

  分析网站开发爬虫的时候,像头部信息参数加密与请求参数加密很常见,但是接口返回数据加密也不会少!作者过往的文章中数据加密的案例就不下三个,感兴趣的可以翻看作者早期的文章

那么好!本期作者也是找到了多个网站,均为响应数据加密。将针对此类场景做一个深度分析与讲解,并给出一个绝大部分场景下能够通杀的极简Hook方案,来辅助我们快速定位到解密入口

需要自行分析及学习的小伙伴可以向作者获取具体的网站集合(数据响应加密类网站

2. 请求分析

首先,打开网站点击下一页,进行一个发包调试,请求信息如下所示:

在这里插入图片描述
接口响应JSON中的data字段可以看到是一段密文。这里大家需要知道的一点就是(尤其新手小白),但凡这种情况,尽管它的网络传输都是通过密文在传输,但前端是一定有相应解密算法的,最终我们看到的页面正常数据都是通过算法解密再渲染到HTML中呈现给用户浏览的

3. 编写Hook

既然在上面我们知道接口返回的是JSON格式的数据,那么我们在编写Hook的时候直接在这上面操作。因为它后端返回这串含加密数据的JSON,前端就需要获取data字段进行解密,在此之前会将它转换成对象格式

所以我们需要编写一段极简的Hook脚本,具体代码如下所示:

var data_parse = JSON.parse;
JSON.parse = function (params){debugger;console.log("request data:",params);return data_parse(params);
}

Hook脚本可以直接放到控制台运行,只要响应的密文数据是JSON格式,上述Hook方案就会立马断住,将分别拦截到加密前与解密后的数据,如下所示:

在这里插入图片描述

在上面成功Hook到了加密数据响应,这里继续执行往下走,成功拦截解密数据,如下所示:

在这里插入图片描述

这个时候,密文如何解密是我们需要关注的!需要分析一下堆栈调用,找到具体的解密入口。然后剩下的就是扣代码算法还原了!如下所示er就是解密方法:

在这里插入图片描述

这里需要注意的是,解密数据Hook到之后,跟栈从前去查看就行,自下而上为入栈加密到出栈解密

4. 其他案例

既然说这是一个通杀的解决思路与方案,当然不会只是说说而已!这里作者也是找了多个网站的案例,它们的特征均为接口响应数据加密

接下来同样使用上面的极简Hook拦截,下面我们看一个的是一个Gov相关网站,点击翻页发包,显示响应数据是一堆密文,如下所示:

在这里插入图片描述

这里我们使用Hook脚本进行拦截,如下所示:

在这里插入图片描述

如上Hook到加密数据,继续执行再次拿到解密数据,如下所示:

在这里插入图片描述

找解密入口,这里我们跟一下栈,来到解密调用的地方,如下:

在这里插入图片描述

下个断点看看,断住后我们直接进入到上图中的b方法内部,查看具体的解密逻辑。可以看到很明显的AES.decrypt解密代码,如下所示:

decrypt

是不是就可以借助Hook辅助我们快速定位到数据的解密入口!接下来我们再看看其他的案例,本期作者不会讲到具体的加密算法还原、分析、甚至是扣代码。本文中的所有网站案例数据解密的还原难度还是很简单的,所有大家感兴趣可以自行研究!

下面我们来看看另一个网站,同样接口数据加密,如下所示:

在这里插入图片描述

可以看到接口响应数据是密文,Hook一下,如下所示:

在这里插入图片描述

最后我们再来看一个示例,这是一个图片网站,我们点击翻页查看接口加载,如下所示:

1696040

启动Hook,看一下是否可以拦截到加密数据,如下所示:

在这里插入图片描述

拦截到密文数据,继续执行一下,照常Hook解密数据,如下所示:

在这里插入图片描述

Hook到解密数据的时候我们就可以跟栈,去查看解密调用的入口,如下所示:

在这里插入图片描述

可以看到上图解密的时候,获取了JSON数据内的result字段,这个字段就是接口响应的加密JSON内的密文数据!

至此,针对网站接口响应数据加密的类似场景,以上的Hook方案或许能够成为你的好帮手!

  好了,到这里又到了跟大家说再见的时候了。创作不易,帮忙点个赞再走吧。你的支持是我创作的动力,希望能带给大家更多优质的文章

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

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

相关文章

dolphinscheduler伪集群部署教程

文章目录 前言一、配置免密登录1. 配置root用户免密登录2. 创建用户2.1 创建dolphinscheduler用户2.2 配置dolphinscheduler用户免密登录2.3 退出dolphinscheduler用户 二、安装准备1. 安装条件2. 安装jdk3. 安装MySQL4. 安装zookeeper4.1 zookeeper单机部署4.1.1 zookeeper3.1…

echarts鼠标向右/向左绘制实现放大/还原

echarts toolbox 的datazoom提供了绘制放大的功能,但通过鼠标绘制只能进行放大 应需求放大与还原都通过鼠标行为实现,增加从右往左绘制时还原放大结果 demo 结果 重写datazoom的原型方法实现绘制事件的拦截 const comp myChart._model.getComponent(to…

智慧公厕:打造智慧城市环境卫生新标杆

随着科技的不断发展和城市化进程的加速推进,智慧城市建设已经成为各地政府和企业关注的焦点。而作为智慧城市环境卫生管理的基础设施,智慧公厕的建设和发展也备受重视,被誉为智慧城市的新标杆。本文以智慧公厕源头厂家广州中期科技有限公司&a…

python 中常用的热门库介绍

阅读本文之前请参阅-----如何系统的自学python Python 是一种非常流行的编程语言,它的一个主要优势是拥有一个庞大的生态系统,其中包括许多强大的库。这些库为各种任务提供了解决方案,从数据分析到机器学习,从网络爬虫到图像处理。…

Linux安装Nginx详细步骤

1、创建两台虚拟机,分别为主机和从机,区别两台虚拟机的IP地址 2、将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx) 附件 3、安装pcre库   3.1 cd到/usr/local目录 3.2 tar -zxvf pcre-8.36.tar.gz 解压 3.3 cd…

vue使用gitshot生成gif

vue使用gitshot生成gif 问题背景 本文将介绍vue中使用gitshot生成gif。 问题分析 解决思路: 使用input组件上传一个视频,获取视频文件后用一个video组件进行播放,播放过程进行截图生成图片数组。 demo演示上传一个视频,然后生…

【JavaEE进阶】 Spring AOP快速上手

文章目录 🍃什么是AOP🌳什么是Spring AOP🌴上手Spring AOP🚩引入依赖🚩编写AOP程序 ⭕总结 🍃什么是AOP AOP是Aspect Oriented Programming的简称(又称为面向切⾯编程) 什么是面向…

SHARE 100M PRO:航测新高度,精准捕捉每一帧

SHARE 100M PRO:单镜头航测相机的革新,巡检效率与精度的新标杆 在航测和巡检领域,精确的数据采集对于确保项目成功至关重要。SHARE 100M PRO,作为一款单镜头航测相机,以其卓越的性能和创新技术,正在重新定…

Fastjson2 <== 2.0.26反序列漏洞

根据Y4TACKER师傅在2023-03-20发布了一篇关于Fastjson原生反序列化的文章,文章中引入注目的是利用条件限制条件,不常常关注漏洞预警或者内容的几乎都是未发觉Fastjson2 到Fastjson2 2.0.26版本都有问题,其实如果单独去使用一些关键词去搜索&a…

异常处理(黑马学习笔记)

当前问题 登录功能和登录校验功能我们都实现了,下面我们学习下今天最后一块技术点:异常处理。首先我们先来看一下系统出现异常之后会发生什么现象,再来介绍异常处理的方案。 我们打开浏览器,访问系统中的新增部门操作&#xff0…

typescript 的常用方式

文章目录 前言一、绑定props 默认值的方式:withDefaults1.vue2 的props设置默认值2.vue3 的props设置默认值(1) 不设置默认值的写法(2) 设置默认值的写法(分离模式)(3) 设置默认值的写法(组合模式) 二、定义一个二维数…

第七十天 APP攻防-微信小程序解包反编译数据抓包APK信息资源提取

第70天 APP攻防-微信小程序&解包反编译&数据抓包&APK信息资源提取 知识点: 0、APK信息资源提取 1、微信小程序致据抓包 2、做信小程序解包反编译 1、信息收集应用8资产提取&权限等 2、漏润发现-反编泽&脱壳&代码审计 3、安全评估组件8散密…