HTTPS真的安全吗?—— 使用 mitmproxy 中间人攻击破解 GitHub 登录会话

HTTPS真的安全吗?------ 使用 mitmproxy 中间人攻击破解 GitHub 登录会话

1. 网络拓扑

复制代码
Mac主机(192.168.1.21) → Win11虚拟机(192.168.1.31)
    |                         |
Chrome浏览器              mitmproxy监听
代理设置:192.168.1.31:9090   端口:9090(流量)/9091(web界面)

正确的配置步骤

步骤 1:在 Win11 虚拟机启动 mitmproxy

bash 复制代码
# 启动 mitmweb,监听 9090 端口(与 Mac 代理设置一致)
mitmweb --listen-host 0.0.0.0 --listen-port 9090 --web-port 9091

# 或者如果您需要同时捕获 Windows 本地流量,可以添加 --allow-hosts
mitmweb --listen-host 0.0.0.0 --listen-port 9090 --web-port 9091 --allow-hosts ".*"

步骤 2:配置 Mac 主机 Chrome 代理

  1. 安装 SwitchyOmega 或其他代理扩展
  2. 新建情景模式:
    • 代理协议:HTTP
    • 代理服务器:192.168.1.31(Win11虚拟机IP)
    • 代理端口:9090
  3. 或使用系统代理设置:
bash 复制代码
# 终端中设置
networksetup -setwebproxy "Wi-Fi" 192.168.1.31 9090
networksetup -setsecurewebproxy "Wi-Fi" 192.168.1.31 9090

步骤 3:安装 mitmproxy CA 证书

在 Mac 主机上:

  1. 访问 http://mitm.it(通过代理)
  2. 下载 macOS 证书
  3. 安装到钥匙串访问:
    • 双击证书安装
    • 在钥匙串访问中找到该证书
    • 右键 → 显示简介 → 信任 → 始终信任

步骤 4:开始捕获 GitHub 登录

  1. 在 Win11 打开 mitmweb 界面:http://127.0.0.1:9091
  2. 在 Mac Chrome 访问:https://github.com/login
  3. 输入账号密码登录
  4. 在 mitmweb 中观察流量

如何解密密码

从 截图中可以看到:

  1. 找到登录请求:

    • 方法:POST
    • URL:https://github.com/session
    • Status:302(重定向)
  2. 查看请求表单数据:

    复制代码
    commit: Sign in
    authenticity_token:  XqSNPnQ/Ht3CfaEh6m+D1tScBxxxxxxxxxxvWH03EAeaPIIBnQ==
    login: [我的账号]
    password: xxxx
    webauthn-support: supported

完整实验命令参考

Win11 虚拟机端:

bash 复制代码
# 方法 1:使用 mitmweb(推荐)
mitmweb --listen-host 0.0.0.0 --listen-port 9090 --web-port 9091 --ssl-insecure

# 方法 2:使用 mitmdump 输出到文件
mitmdump --listen-host 0.0.0.0 --listen-port 9090 -w github_traffic.mitm

# 方法 3:使用过滤器只捕获 GitHub 流量
mitmweb --listen-host 0.0.0.0 --listen-port 9090 -f "~d github.com"

验证配置:

  1. 在 Win11 检查防火墙:
bash 复制代码
netsh advfirewall firewall add rule name="mitmproxy" dir=in action=allow protocol=TCP localport=9090
  1. 在 Mac 测试连接:
bash 复制代码
curl --proxy http://192.168.1.31:9090 https://github.com

故障排除

常见问题 1:连接不上

bash 复制代码
# Win11 查看端口监听
netstat -an | findstr :9090

# 临时关闭防火墙测试
netsh advfirewall set allprofiles state off

常见问题 2:证书错误

  1. 确保在 Mac 正确安装 mitmproxy CA
  2. 清除 Chrome 缓存和 SSL 状态
  3. 重启 Chrome 或使用隐私模式

常见问题 3:看不到 HTTPS 内容

确保:

  1. 代理设置正确
  2. 证书已安装并信任
  3. 访问 https://mitm.it 显示正常

实验结果分析

当您成功配置后,在 mitmweb 中应该能看到:

  1. POST https://github.com/session 请求
  2. 请求体中的 password 字段
  3. 302 重定向响应
  4. 后续的 Set-Cookie 操作
相关推荐
砚凝霜8 小时前
【软考信息安全】第二十二章 Web服务器安全分析与增强——Apache与IIS
服务器·前端·安全
AI砖家8 小时前
安全进入 Agent Loop:2027 年 Coding Agent 的决胜点
数据库·安全·codex·vibecoding
himobrinehacken9 小时前
取模运算的汇编奥秘揭秘
c语言·安全
墨云安全9 小时前
内网资产无法暴露到公网,怎么做安全检测?2026 年内网渗透测试的落地路径
开发语言·安全·网络安全·渗透测试·php
2601_9672127210 小时前
安全型电源轨道系统合规选型技术指标与行业技术路线分析
大数据·经验分享·安全
山东科恩光电10 小时前
安全地毯高灵敏感应机制与耐磨材质优势及多场所防护安装维护指南
安全
goehou10 小时前
Prompt 注入实战:直接注入、间接注入和四道防线(附测试样例)
安全·ai·llm·agent·prompt注入
世岩清上13 小时前
工厂安全目视化标识不全该怎么整改?标准化落地全流程方案
人工智能·安全·工厂目视化·车间目视化·企业目视化·新建厂房目视化
AliCloudROS14 小时前
用阿里云 ChatOps Agent 找回消失的日志:内核漏洞修复换盘后的 SLS 采集断流排查
安全·阿里云
天行健,君子而铎14 小时前
知形-数据库风险监测系统:非侵入式、可溯源、差异化的数据库安全方案
网络·数据库·安全