当前位置: 首页 > news >正文

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

# 启动 mitmweb,监听 9090 端口(与 Mac 代理设置一致)mitmweb --listen-host0.0.0.0 --listen-port9090--web-port9091# 或者如果您需要同时捕获 Windows 本地流量,可以添加 --allow-hostsmitmweb --listen-host0.0.0.0 --listen-port9090--web-port9091--allow-hosts".*"

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

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

步骤 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 虚拟机端:

# 方法 1:使用 mitmweb(推荐)mitmweb --listen-host0.0.0.0 --listen-port9090--web-port9091--ssl-insecure# 方法 2:使用 mitmdump 输出到文件mitmdump --listen-host0.0.0.0 --listen-port9090-wgithub_traffic.mitm# 方法 3:使用过滤器只捕获 GitHub 流量mitmweb --listen-host0.0.0.0 --listen-port9090-f"~d github.com"

验证配置:

  1. 在 Win11 检查防火墙:
netsh advfirewall firewalladdrulename="mitmproxy"dir=inaction=allowprotocol=TCPlocalport=9090
  1. 在 Mac 测试连接:
curl--proxyhttp://192.168.1.31:9090 https://github.com

故障排除

常见问题 1:连接不上

# Win11 查看端口监听netstat-an|findstr :9090# 临时关闭防火墙测试netsh advfirewallsetallprofiles 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操作
http://www.jsqmd.com/news/183666/

相关文章:

  • 喵喵喵 XIX
  • 【音视频】将数据包的时间戳从输入流时间基转换为输出流时间基的目的
  • 为什么建议程序员尽早拥抱 Markdown?
  • 计算机深度学习毕设实战-基于 人工智能+双分支残差结构的低光照图像增强研究与应用实现
  • PHP HTTP 指南
  • Compose 封装 - 点击防抖
  • Java开发者必看:抗量子加密性能优化的8个关键步骤
  • 学长亲荐!10个AI论文网站测评,本科生毕业论文必备
  • 【课程设计/毕业设计】基于人工智能 ISIC数据集的皮肤病黑色素瘤分类研究与实现
  • 【毕业设计】基于机器学习+深度学习的二手车价格预测及应用实现
  • 深度学习毕设选题推荐:基于双分支残差结构的 人工智能低光照图像增强研究与应用实现
  • 深度学习毕设选题推荐:人工智能 基于ISIC数据集的皮肤病黑色素瘤分类研究与实现
  • 完整教程:面试直击:大模型对齐中RLHF与DPO的核心差异,为何DPO成主流替代?
  • 深度学习计算机毕设之基于机器学习的肝病患者智能诊断及系统实现
  • 【毕业设计】基于深度学习的肝病患者智能诊断及系统实现
  • 提示工程日志聚合分析从0到落地:架构师的实战经验分享
  • 12. 图像金字塔
  • HTML5 MathML:深入解析数学标记语言在HTML5中的应用
  • 深度学习计算机毕设之机器学习 基于ISIC数据集的皮肤病黑色素瘤分类研究与实现
  • JSON格式混乱怎么办,一文解决Python中所有美化难题
  • JSON格式混乱怎么办,一文解决Python中所有美化难题
  • UID和UUID分别是什么?盘点生成UID的n种技巧
  • MCP Registry v1.4.0 最新进展
  • 【课程设计/毕业设计】基于深度学习的二手车价格预测及应用实现
  • Ruby 类和对象
  • 【课程设计/毕业设计】基于深度学习的二手车价格预测及应用实现
  • 深度学习毕设项目推荐-基于人工智能 ISIC数据集的皮肤病黑色素瘤分类研究与实现
  • 2026.1.2日22:31-prodigal浪费的
  • SQL优化实战:从索引策略到查询性能飙升的终极指南
  • 【课程设计/毕业设计】基于人工智能的肝病患者智能诊断及系统实现