利用MITM技术实现请求和返回的重写、重定向、阻断等操作

介绍

使用MITM技术来提供 rewriteredirectreject 等功能,直白的说差不多类似于劫持或者将目标访问重定向

证书准备

为了实现对HTTPS流量进行MITM,同时为了浏览器等不显示安全警告,需要生成并信任自签名CA证书

生成CA证书

出于安全考虑,用户必须自己生成自己的CA证书,随意使用不可信的CA证书将会留下严重的安全隐患

经验丰富的用户可以自行使用OpenSSL进行相关操作,考虑到没有相关经验的用户,可以使用以下命令直接生成相关内容,生成的证书和私钥将存储在ca目录下

good-mitm.exe genca

在浏览器使用了Good-MITM提供的代理后,通过访问 http://cert.mitm.plus 可以直接下载证书,这在给其他设备提供服务时非常有用

信任生成的证书

使用你自己的证书,自签证书,亲测可以使用fidder生成的证书

Filter 筛选器

Filter用来筛选需要处理的请求和返回

候选项

Filter目前包含以下类型:

  • All
  • Domain(String)
  • DomainKeyword(String)
  • DomainPrefix(String)
  • DomainSuffix(String)
  • UrlRegex(fancy_regex::Regex)

注意
当前版本中,domain相关类型匹配的是host,通常情况下不会影响结果
在网站使用非常规端口时,规则需要注明端口
后续版本将会对此行为进行优化

All 全部

指定筛选器为all时将会命中全部请求和返回,通常用来执行日志记录行为

- name: "log"
  filter: all
  action:
    - log-req
    - log-res

Domain 域名

domain对域名进行全量匹配

- name: "redirect"
  filter:
    domain: 'none.zu1k.com'
  action:
    redirect: "https://zu1k.com/"

DomainKeyword 域名关键词

domain-keyword对域名进行关键词匹配

- name: "reject CSDN"
  filter:
    domain-keyword: 'csdn'
  action: reject

DomainPrefix 域名前缀

domain-prefix对域名进行前缀匹配

- name: "ad prefix"
  filter:
    domain-prefix: 'ads' // example: "ads.xxxxx.com"
  action: reject

DomainSuffix 域名后缀

domain-suffix对域名进行后缀匹配

- name: "redirect"
  filter:
    domain-suffix: 'google.com.cn'
  action:
    redirect: "https://google.com"

UrlRegex Url正则

url-regex对整个url进行正则匹配

- name: "youtube追踪"
  mitm: "*.youtube.com"
  filter:
    url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
  action: reject

多个筛选器

filters字段支持单个筛选器和多个筛选器,多个筛选器之间的关系为

- name: "youtube-2"
  mitm:
    - "*.youtube.com"
    - "*.googlevideo.com"
  filters:
    - url-regex: '^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+(&oad|ctier)'
    - url-regex: '^https?:\/\/(www|s)\.youtube\.com\/api\/stats\/ads'
    - url-regex: '^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking)'
    - url-regex: '^https?:\/\/\s.youtube.com/api/stats/qoe?.*adformat='
  action: reject

具有相同动作的多个规则可聚合为一个规则以便于维护

目标若是https

需要目标在本地安装证书,才能实现重定向或者阻断

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息