开始劫持
经过前两章节的学习,我们已经配置好了开始劫持前的准备工作。本章节开始我们开始进行劫持的学习。在开始劫持前我们先对整个劫持页面进行熟悉:
- 设置代理监听主机,远程模式可以修改为0.0.0.0以监听主机所有网卡。
- 设置代理监听端口,设置一个不被占用的端口。
- 开启该选项将支持 HTTP/2.0 劫持,关闭后自动降级为HTTP1.1,开启后 HTTP2 协商失败也会自动降级。
- 根据填写的正则规则,对符合规则的数据包进行染色、标记、替换、打tag等操作,方便用户快速筛选出目标数据包。Yakit目前提供55条默认规则,点击
默认配置
导入即可使用。 - 开启启用插件则表示,进入劫持页面就会加载在侧边栏 ⑥ 当中选择的插件以及编写插件时设置了默认启动的插件。
- 插件商店当中的"MITM插件" 和 "端口扫描插件"类型的插件。
- 插件分组:将插件按照自己的使用习惯进行分组,便于在使用插件时快速勾选自己需要的插件。插件组在整个Yakit里是共用的,只要有加载插件的地方就使用插件分组。
- 根据关键字或者tag快速搜索所需插件。
- 下拉显示已创建过的分组,并进行分组选择。
- 高级配置:
- 为劫持再设置一个代理,通常用于访问中国大陆无法访问的网站或访问特殊网络/内网,也可用于接入xray等被动扫描。
- 客户端TLS:导入TSL证书,用于 mTLS(Mutual TLS)开启客户端验证的 HTTPS 网站抓包。
- 过滤器:通过配置过滤条件,来控制只抓/不抓哪些数据包,也可以理解为劫持的“黑白名单”。
- 下载Yakit证书。
#
开始劫持点击劫持启动
后进入到劫持界面:选择丢弃请求
,则该条数据不会出现在history,提交数据
则会将该数据包记录在history 并开始劫持下一个数据包。
在劫持页面的左上角的①单选框选择
手动劫持
,打开浏览器,输入你需要访问的URL(以https://baidu.com/ 为例)并回车,这时你将会看到数据流量经过 Yakit 并暂停,您可以查看或修改数据包。选择自动放行
则会放行所有的数据包,被动日志
则为劫持模块、插件加载、被动扫描的执行日志。选择
手动劫持
劫持到请求以后,点击右边②丢弃请求
则该条数据将会丢失,不在继续处理且不会出现在history
中,③提交数据
则会将该数据包继续传输下去并记录在history
并开始劫持下一个数据包。劫持到请求以后,在右边单选框④
劫持响应
处选择当前请求,则会劫持到当前请求包对应的响应数据包。选择"所有"则会劫持所有请求的响应数据包。在整个数据包展示处,我们可以看到HTTP请求的数据进行手工的修改,数据主要包含了:请求地址、http协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等,点击鼠标右键可以对数据包进行更多的操作:
- 劫持到的所有的数据包都会存入到
history
中,劫持后可以在history
查看感兴趣的数据包。关于History功能的详情请移步 History进行查看。