当前位置: 首页 > news >正文

同花顺动态Cookie反爬JS逆向分析

文章目录

  • 1. 写在前面
  • 2. 请求分析
  • 3. Hook Cookie
  • 4. 补环境

1. 写在前面

  最近有位朋友在大A失意,突发奇想自己闲来无事想要做一个小工具,监测一下市场行情的数据。自己再分析分析,虽是一名程序员但苦于对爬虫领域相关的技术不是特别熟悉。最后只能是我稍微代劳一下爬虫相关的部分工作了,于是有了这篇文章


分析目标

aHR0cDovL3EuMTBqcWthLmNvbS5jbi8=


在这里插入图片描述


2. 请求分析

  这里打开目标网站,抓包看一下请求。可以发现这个网站有根据Cookie来反爬的,Cookie的生成是动态的!可以看到下图所示Cookie中有一个加密参数v:

在这里插入图片描述

3. Hook Cookie

  Cookie既然是动态生成的,选择Hook方式, Hook的方式有很多,油猴、代码注入…

Hook Cookie的JS代码如下:

(function() {'use strict';var cookieTemp = "";Object.defineProperty(document, 'cookie', {set: function(val) {console.log('Hook捕获到cookie设置->', val);debugger;cookieTemp = val;return val;},get: function(){return cookieTemp;}});
})();

启动Hook脚脚本,看到这个值是v的时候就是我们的目标Cookie

在这里插入图片描述
根据堆栈找到v生成代码的位置,点击堆栈跳转到如下位置,可以看到函数D方法内n就是v参数
在这里插入图片描述

4. 补环境

  把整个JS代码拿下来,缺什么补什么,这里推荐使用v_jstools工具来补!

在浏览器下载工具:v_jstools

清除当前网站的Cookie信息,打开开发者工具并且配置v_jstools,刷新页面后点击生成临时环境,最后在控制台将会看到环境代码,复制拿到先前已扣出来的JS代码上方即可,环境代码如下图所示:
在这里插入图片描述

补完环境验证一下最终效果,如下所示(完整的JS代码多达2000+行,这里就不再贴出来了):

在这里插入图片描述

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

http://www.lryc.cn/news/198991.html

相关文章:

  • 异步加载JS的方法
  • IO/NIO交互模拟及渐进式实现
  • springboot+html实现密码重置功能
  • LeetCode 2525. 根据规则将箱子分类【模拟】1301
  • atcoder [Road of the King] 题解(DP好题)
  • CImageList 图像列表
  • 【OpenGL】四、坐标系统和摄像机
  • 使用vcpkg管理依赖第三库
  • Android渲染一个列表的过程,并提供动态改变样式
  • Leetcode—260.只出现一次的数字III【中等】
  • Mysql 约束,基本查询,复合查询与函数
  • web前端基础CSS------美化页面“footer”部分
  • 在中国,技术到底有多有用?
  • 《动手学深度学习 Pytorch版》 9.2 长短期记忆网络(LSTM)
  • 计算机操作系统-第十一天
  • Flutter视图原理之StatefulWidget,InheritedWidget
  • 观察者模式-对象间的联动
  • Webpack十大缺点:当过度工程化遇上简单的静态页面
  • 新手指南|如何快速参与Moonbeam Ignite
  • VR航天科普主题公园模拟太空舱体验馆vr航天模拟体验设备
  • Spring Boot OAuth 2.0整合详解
  • 安装visual studio报错“无法安装msodbcsql“
  • webGL编程指南 第三章 矩阵平移三角形.translatedTriangle_Matrix
  • 修改echarts的tooltip样式 折线图如何配置阴影并实现渐变色和自适应
  • [论文笔记] SurroundOcc: Multi-Camera 3D Occupancy Prediction for Autonomous Driving
  • 辅助驾驶功能开发-功能对标篇(16)-NOA 城市辅助系统-毫末智行
  • H3C的IRF堆叠互联关系说明
  • 货物摆放(蓝桥杯)
  • 3782: 【C3】【穷举】弹珠游戏
  • leetcode 5