位置: 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饼图参数配置)

  • 华为蓝牙耳机找不到了怎么办(华为蓝牙耳机找不到了怎么用手机查找)

    华为蓝牙耳机找不到了怎么办(华为蓝牙耳机找不到了怎么用手机查找)

  • 微信视频号里的视频怎么保存到相册(微信视频号里的视频怎么复制链接)

    微信视频号里的视频怎么保存到相册(微信视频号里的视频怎么复制链接)

  • 如何让微信暂时不计步(如何让微信暂时封号)

    如何让微信暂时不计步(如何让微信暂时封号)

  • 腾讯视频有mac版吗(腾讯视频mac版是什么意思)

    腾讯视频有mac版吗(腾讯视频mac版是什么意思)

  • iphone x有指纹识别吗(苹果x有没指纹)

    iphone x有指纹识别吗(苹果x有没指纹)

  • 苹果手机f开头的序列号

    苹果手机f开头的序列号

  • usb mass storage device什么意思(usb mass storage device被禁用)

    usb mass storage device什么意思(usb mass storage device被禁用)

  • 电车充电器充电时很响怎么回事(电车充电器充电发热有事吗)

    电车充电器充电时很响怎么回事(电车充电器充电发热有事吗)

  • 佳能单反无法访问储存卡(佳能单反相机无法访问存储卡)

    佳能单反无法访问储存卡(佳能单反相机无法访问存储卡)

  • 打印的照片可以保存多久(打印的照片可以复印吗)

    打印的照片可以保存多久(打印的照片可以复印吗)

  • 手机内屏坏了会怎么样(手机内屏坏了会出现什么现象)

    手机内屏坏了会怎么样(手机内屏坏了会出现什么现象)

  • 不能与打印机通讯什么原因(不能与打印机通讯关于墨水)

    不能与打印机通讯什么原因(不能与打印机通讯关于墨水)

  • 表格打开后看不到内容(表格打开后看不到内容但是预览可以)

    表格打开后看不到内容(表格打开后看不到内容但是预览可以)

  • 摄像头最怕被什么干扰(摄像头最怕被什么监控)

    摄像头最怕被什么干扰(摄像头最怕被什么监控)

  • iPhone怎么同一个ID不推送(苹果手机同一个)

    iPhone怎么同一个ID不推送(苹果手机同一个)

  • lapbook中文是什么意思(labbook是什么意思中文)

    lapbook中文是什么意思(labbook是什么意思中文)

  • 怎样把图片上的字变成word文档(怎样把图片上的文字转换成word文档)

    怎样把图片上的字变成word文档(怎样把图片上的文字转换成word文档)

  • 苹果x旁白怎么强制关闭(苹果x旁白怎么解锁输不了密码)

    苹果x旁白怎么强制关闭(苹果x旁白怎么解锁输不了密码)

  • 双核处理器和四核处理器的区别(双核处理器和四核的区别)

    双核处理器和四核处理器的区别(双核处理器和四核的区别)

  • 华为p30pro和1加7pro区别(一加7pro和华为p30)

    华为p30pro和1加7pro区别(一加7pro和华为p30)

  • p30pro有没有录屏(p30 pro手机录屏设置)

    p30pro有没有录屏(p30 pro手机录屏设置)

  • 通知栏hd什么意思(通知栏有hd标志)

    通知栏hd什么意思(通知栏有hd标志)

  • alibabaprotect是什么详细介绍(alibabapritect)

    alibabaprotect是什么详细介绍(alibabapritect)

  • jfCacheMgr.exe是什么进程?jfCacheMgr.exe是病毒吗?jfCacheMgr.exe程序文件介绍(jusched.exe是什么进程)

    jfCacheMgr.exe是什么进程?jfCacheMgr.exe是病毒吗?jfCacheMgr.exe程序文件介绍(jusched.exe是什么进程)

  • Vue3、vite项目页面自适应配置(postcss-plugin-px2rem、amfe-flexible)(vue项目页面写在哪里)

    Vue3、vite项目页面自适应配置(postcss-plugin-px2rem、amfe-flexible)(vue项目页面写在哪里)

  • 小微企业应纳税所得额是指什么
  • 增值税减免附加税怎么申报
  • 差额发票能不能报销
  • 企业开出的普票和专票对税额有影响吗
  • 土增税土地成本分摊方法
  • 折扣销售指
  • 安置残疾人就业税收优惠政策
  • 年度利润总额的12%
  • 企业长期股权投资中发生的相关费用处理方法正确的有
  • 收到餐饮费发票会计分录
  • 国家税务总局2011年第25号公告
  • 还在讨论“税务金四”上线?税务和银行要联手清查单位和个人账户了!
  • 增值税5%的税率怎么算
  • 专票已经认证能作废吗
  • 会计科目未付利润属于哪个科目
  • win10任务栏图标怎么变大
  • vmware11安装win10
  • 专用发票已认证怎么退回
  • php file_get_contents 读取图片
  • 简单介绍下商务洽谈的五个步骤
  • 押金收不回的会计分录
  • 房产税计税的税率可分为
  • php读取目录
  • 关于出售使用过的东西
  • centos-6.5-i386-bin-dvd1.iso
  • php url函数
  • vue 插槽详解
  • 织梦前台的菜单怎么换
  • 年末应交税费怎么算
  • 利润表中本期数
  • 小规模超500万升一般纳税人规定
  • 预交的诉讼费怎么做账
  • 海关缴款书上完税价格含增值税吗
  • 财务报表的组成主要包括
  • 四种股利分配政策及适用情况
  • 一般整形医院的药在哪进货
  • 个人所得税申报教程
  • 平台的分销佣金是多少
  • 超市的收银小票丢了可以要求重新打印一张吗
  • 政府补助的范围
  • 资本公积是什么意思,举个例子呗
  • 预收账款和应收账款的转换
  • 拆迁补偿款收税吗
  • 账面价值低于可抵税收
  • 小规模纳税人结转增值税的账务处理
  • 买赠行为的会计处理
  • 旅行社差额征税全额开票和差额开票
  • 增值税专用发票丢了怎么补救
  • 上年计提费用多了,要怎样调
  • 固定资产清理营业外支出可在税前扣除?
  • 销项负数发票是红字发票吗
  • 在建工程二级科目待摊支出
  • 软件开发收费标准
  • 开设明细账
  • 数据库木马
  • mac下mysql密码忘记了怎么办
  • centos 7.5 7.6
  • Windows系统sid修改方法
  • win10如何添加输入法
  • windows8安装程序
  • centos 6.5安装教程
  • os x10.10.4beta6下载地址 os x10.10.4beta6官方下载网址
  • win10显示win8
  • windowssystem32configsystem 损坏
  • c:windowssys:em32mtgyu.dll 内存分配访问无效的解决办法
  • 升级win8.1后vpn出现错误720该怎么办?
  • kail Linux系统
  • windows 8怎么样
  • cocos2d schedule
  • js仿QQ中对联系人向左滑动、滑出删除按钮的操作
  • nodejs基本原理
  • 关于全局变量和局部变量说法不正确的是
  • JavaScript浏览器插件制作
  • 使用JQuery中的trim()方法去掉前后空格
  • php7 数组
  • 如何知道公司所有账户
  • 广西地方税务局2018年1号公告
  • 浦发银行企业银行电话
  • 酒店,旅店的营业范围
  • 专用发票章盖在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设