位置: IT常识 - 正文

Web Spider Fiddler - JS Hook 基本使用

编辑:rootadmin
Web Spider Fiddler - JS Hook 基本使用

推荐整理分享Web Spider Fiddler - JS Hook 基本使用,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

文章目录前言一、资源下载二、什么是Hook三、Hook 的几种方式四、Fiddler - 编程猫插件安装五、Fiddler - Hook 案例六、常用的js hook代码Hook CookieHook Header总结前言

Hook技术也叫钩子函数,功能是把网站的代码拉出来,改成我们自己想执行的代码片段,简单来说就是可以控制执行函数的入参和出参;

一、资源下载

编程猫插件:https://pan.baidu.com/s/1SP8xHoDpugssFRpu-nLxPw?pwd=zhou

二、什么是Hook

什么是hook

js执行流程,初始化(自执行)、页面逻辑、等待用户输入、加密数据、提交数据;在以上任意一个环节,插入自己的代码,让浏览器先执行插入代码然后再执行网站原有代码;上下文 = 一个项目环境,JS上下文(JS v8虚拟机),作用域(变量所生效的位置)是处在上下文当中的;从浏览器来看,(新页面、新线程)就是一个新的上下文,eval打开虚拟机运行JS代码是原来的上下文;hook的目的,改变原来的代码或者原来代码的执行流程;hook时机,只会影响hook完成之后的代码操作;浏览器初始化hook,需要借助(油猴[通过浏览器插件形式监听浏览器接收数据的方法],FD插件[通过代理形式]),修改原数据;三、Hook 的几种方式

hook的几种方式

覆盖原来的方法,在相同的作用域,写一个新方法赋值给原方法的变量对象;ES6的语法,Object.defineProperty(obj, prop, descriptor),比覆盖原来的方法更加强大;使用详解;Object.defineProperty的作用:给对象重新定义属性,监听属性的设置值(set方法)和获取值(get方法);JS Proxy,给对象整体监听(属性初始化、设置值、获取值、构造函数、比较广),使用详解;下面具体介绍一下Object.defineProperty()Web Spider Fiddler - JS Hook 基本使用

Object.defineProperty的参数

obj:需要定义属性的当前对象;prop:当前需要定义的属性名;descriptor:属性描述符,可以取以下值;

set方法 & get方法 介绍

set(),赋值的方法;get(),取值的方法;四、Fiddler - 编程猫插件安装

1、将下载好的压缩包解压; 2、将插件所有文件复制到 (默认)C:\Program Files (x86)\Fiddler2\Scripts,fiddler的安装目录; 3、首次使用必须右键以管理员身份启动 fiddler,fiddler 版本必须 >= v4.6.3,下面是插件安装成功的截图;

五、Fiddler - Hook 案例

1、这里以某站的cookie为例 2、下面分析一下hook代码

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

重点:if (val.indexOf('buvid3') != -1) {debugger;},检索 buvid3 在字符串中首次出现的位置,-1表示没有出现,反之为出现,出现则进入条件进行debugger;

3、打开fiddler 将hook代码粘贴至编程猫插件中,勾选开启,增添了新的代码会自动保存; 4、清除浏览器的cookie,刷新某站的页面,即可断住; 5、注意:可以在右侧的调用栈里(Call Stack)看到一些函数的调用过程,依次向上跟进就能够找到最开始buvid3生成的地方

六、常用的js hook代码Hook Cookie

Cookie Hook 用于定位Cookie中关键参数生成的大概位置,下列代码演示了当Cookie中匹配到了关键字buvid3则进行debugger;

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

Cookie Header 用于定位Header中关键参数生成的大概位置,下列代码演示了当Header中匹配到了关键字token则进行debugger;

(function () { var org = window.XMLHttpRequest.prototype.setRequestHeader; window.XMLHttpRequest.prototype.setRequestHeader = function (key, value) { if (key == 'token') { debugger; } return org.apply(this, arguments); };})();总结

以上就是今天要讲的内容,本文仅仅简单介绍了JS Hook 的基本使用,后续有更多好用的JS Hook 代 码会在此篇博文更新; 最后我推荐一篇较好的相关博文:JS 逆向之 Hook,吃着火锅唱着歌,突然就被麻匪劫了!

本文链接地址:https://www.jiuchutong.com/zhishi/297601.html 转载请保留说明!

上一篇:uni-app ——使用uploadFile上传多张图片

下一篇:Echarts 饼图基本用法(echarts饼图参数配置)

  • 罗技鼠标怎么蓝牙连接电脑(罗技鼠标怎么蓝牙连接手机)

    罗技鼠标怎么蓝牙连接电脑(罗技鼠标怎么蓝牙连接手机)

  • 电脑fn键功能关闭(电脑上fn键一直亮着怎么关)

    电脑fn键功能关闭(电脑上fn键一直亮着怎么关)

  • excel表格怎么自动汇总数据(excel表格怎么自动排序名字和数字)

    excel表格怎么自动汇总数据(excel表格怎么自动排序名字和数字)

  • 快手一般多少播放量就可以上热门(快手一般多少播放一个赞)

    快手一般多少播放量就可以上热门(快手一般多少播放一个赞)

  • 路由器要交多少网费(路由器要交多少电费)

    路由器要交多少网费(路由器要交多少电费)

  • 苹果4gvolte打开还是关闭

    苹果4gvolte打开还是关闭

  • 微信更多选项在哪里(微信更多选择在哪)

    微信更多选项在哪里(微信更多选择在哪)

  • 手机电没充满拔掉对手机有伤害吗(手机电没充满拔掉)

    手机电没充满拔掉对手机有伤害吗(手机电没充满拔掉)

  • 已保存不可上网是什么意思(wifi已保存不可上网)

    已保存不可上网是什么意思(wifi已保存不可上网)

  • 手机腾讯视频怎么登录别人的vip(手机腾讯视频怎么在电视登录)

    手机腾讯视频怎么登录别人的vip(手机腾讯视频怎么在电视登录)

  • qq热度浏览是怎么算的(qq热度浏览是怎么回事啊)

    qq热度浏览是怎么算的(qq热度浏览是怎么回事啊)

  • soul举报对方看得到吗(soul举报成功对方能收到消息不)

    soul举报对方看得到吗(soul举报成功对方能收到消息不)

  • 计算机中应用最普遍的字符编码是什么(计算机中应用最普遍的英文字符编码是)

    计算机中应用最普遍的字符编码是什么(计算机中应用最普遍的英文字符编码是)

  • 苹果连拍600张什么意思(iphone连拍600张照有影响吗)

    苹果连拍600张什么意思(iphone连拍600张照有影响吗)

  • 苹果x长多少cm(iphone x长多少cm)

    苹果x长多少cm(iphone x长多少cm)

  • 如何生成表目录图目录(word如何生成表目录)

    如何生成表目录图目录(word如何生成表目录)

  • 苹果新版本怎么删除软件(苹果新版本怎么设置主屏幕壁纸)

    苹果新版本怎么删除软件(苹果新版本怎么设置主屏幕壁纸)

  • vivo可以用语音写便签吗(vivo手机能语音接听电话吗)

    vivo可以用语音写便签吗(vivo手机能语音接听电话吗)

  • 华为荣耀7x双卡怎么放(华为荣耀7x双卡双待为什么有个卡无服务)

    华为荣耀7x双卡怎么放(华为荣耀7x双卡双待为什么有个卡无服务)

  • 电话被拉黑能发信息吗(电话被拉黑能发出信息吗对方看得到吗)

    电话被拉黑能发信息吗(电话被拉黑能发出信息吗对方看得到吗)

  • kindle怎么重启(kindle2怎么重启)

    kindle怎么重启(kindle2怎么重启)

  • 斗鱼实名认证怎么取消(斗鱼实名认证怎么解除绑定)

    斗鱼实名认证怎么取消(斗鱼实名认证怎么解除绑定)

  • 视频监控 智能交通 数据集(目标检测、跟踪)(视频监控智能化应用)

    视频监控 智能交通 数据集(目标检测、跟踪)(视频监控智能化应用)

  • 使用Three.js实现web端显示点云(three.js入门指南)

    使用Three.js实现web端显示点云(three.js入门指南)

  • vue使用富文本编辑器vue-quill-editor(vue富文本编辑器移动端)

    vue使用富文本编辑器vue-quill-editor(vue富文本编辑器移动端)

  • 免税收入不征税收入有哪些
  • 装修消防费用摊销几年
  • 进项税需要转出吗
  • 小规模纳税人小微企业免税销售额
  • 营业收入利润率多少合适
  • 产品成本核算方法体系的内容包括
  • 生产企业购进的用于生产的机器设备
  • 我的初级备考经验--跟老师节奏走
  • 税款不申报会怎样
  • 由母公司承担子公司债务的财务处理怎么做?
  • 买车的保险可以砍价吗
  • 小微企业减免税如何算
  • 深圳税种核定需要申报吗
  • 资本公积与股东借款
  • 如何将货物卖出去
  • 土地平整费计入什么科目
  • 卷烟批发企业批发卷烟是否缴纳消费税
  • 存货资产减值损失转回怎么做账
  • 销售外购设备并提供安装服务
  • scanregistry.exe - scanregistry是什么进程 有什么用
  • 奖金扣税标准税率表
  • 贴息贷款利息怎么入账
  • 企业所得税税前扣除管理办法2018
  • 小规模纳税人的专票可以抵税吗
  • 方正电脑如何做系统
  • 培训机构开办资金
  • 什么时编制
  • explorer.exe是啥意思
  • uniapp生成h5
  • 开发产品完工结转
  • php中哪个命令用来删除当前目录
  • 政府补贴款计入什么科目是否纳税
  • 所得税季报资产总额怎么算
  • 公司汽车折旧计算方法用那种
  • 变量与数据
  • 损失函数解读例题
  • 装修费用一次性计入成本
  • wordpress禁止更新插件
  • MySQL中Nested-Loop Join算法小结
  • 企业注销后账目需要保留多少年
  • 企业培训费怎么入账
  • 企业代扣代缴个税
  • 全资子公司的利润怎么记录母公司报表
  • 忘了作废的发票还能用吗
  • 购礼品送客户分账务处理怎么做
  • 医保账户收入金额是怎么算的
  • 网络使用费属于办公费吗为什么
  • 什么叫做对公转账
  • 员工意外险的费用怎么算
  • 油票抵税能抵多少
  • 盘亏应该怎么处理
  • 年初资产总额怎么算
  • 建筑公司的会计好做吗
  • 会计报表的主要构成内容
  • 连接mysql数据的四要素
  • 存储过程mysql
  • linux系统rm -rf
  • centos6.5mini安装教程
  • linux 匹配字符
  • Win7 64位系统没有超级终端软件的解决方法
  • winspool.drv病毒
  • red hat linux怎么用
  • cs1.6 linux
  • 中小型企业的认定标准2023
  • win10mobile官网
  • javascript数据结构与算法第三版
  • jquery上传图片并预览
  • 接入hpool
  • 提取字符串的公式
  • jquery教程chm
  • 批处理删除自身命令
  • Unity3D游戏开发标准教程
  • 如何使用开塞露排便
  • html、css和jquery相结合实现简单的进度条效果实例代码
  • 中国个人所得税是多少?
  • 即征即退什么时候退
  • 杭州市税务局副局长
  • 南宁立遗嘱的地方
  • 银行理财收入如何记账
  • 诚信励志语录经典短句
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设