HTTPS劫持

本文详细介绍了HTTPS透明劫持的基本思想、流程和技术挑战,包括如何通过上游证书解决IP地址访问时的劫持问题,以及透明代理下HTTPS连接的重定向过程。同时,讨论了在没有SNI情况下如何通过IP反查域名进行潜在的劫持解决方案。
摘要由CSDN通过智能技术生成

HTTPS劫持


https劫持分为代理劫持和透明劫持。
一、代理劫持https
这种https代理劫持在我们平时是用的很多的,比如Burp suite和Fiddler启动代理服务器,浏览器配置一个代理就可以抓包进行调试、漏洞测试了。
1.1必备知识
1.1.1 SNI
其中SNI包含了在ClientHello中,在TLS(SSL的升级版)开始支持设置 Server Name(网站的域名)。因为现在一个https服务器可能存在多个域名,而在 TLS 握手信息中并没有携带客户端要访问的目标地址,则无法确定该和那台主机通信,而SNI有目标主机的域名。如下图(1):
SNI图

                   图1  SNI图

1.1.2 Pstream Certificates(上游证书)
当mitmproxy收到发往SSL保护服务的连接时,它会在读取其请求数据之前冻结该连接,并与上游服务器建立连接以“嗅探”其 SSL 证书的内容。获得的信息 Common Name(通用名称)和Subject Alternative Names(主题备用名称)然后用于生成拦截证书,该证书被发送到客户端以便连接可以继续。即使客户端仅指定了 IP 地址而不是主机名,也可以让我们无缝地生成正确的证书。这也意味着我们不需要嗅探额外的数据来在透明模式下生成证书。
1.2 https透明劫持基本思想
基本思想是对客户端假装是服务器,对服务器假装是客户端,而我们坐在中间解码来自双方的流量。棘手的部分是 证书颁发机构系统旨在通过允许受信任的第三方对服务器的证书进行加密签名以验证它们是合法的,从而完全防止这种攻击。如果此签名不匹配或来自不受信任的一方,则安全客户端将简单地断开连接并拒绝继续。我们对这个难题的回答是我们自己成为受信任的证书颁发机构。代理服务器包括一个完整的 CA 实现,可以动态生成拦截证书。为了让客户相信这些证书,我们手动可信CA。比如我们在使用burp suite 和fillder了都要安装相应的CA证书。
1.3 https透明劫持基本流程
如图(2):
https代理劫持基本流程图

              图2 https代理劫持基本流程图

1.先通过一个简单的HTTP Connect请求来连接代理服务器&

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值