SSL剥离攻击是什么,攻击流程是怎么样的?

更新时间:2025-10-04 来源:TopSSL技术团队

SSL剥离攻击是什么?

SSL剥离攻击(SSL Stripping)是一种将HTTPS连接强制降级为HTTP连接的中间人攻击。攻击成功后,用户看到的网站可能仍能正常访问,但传输的数据已不再加密,账号密码、支付信息等敏感数据可能被窃取。

这种攻击不依赖证书伪造或私钥窃取,而是利用用户对URL外观的信任与协议重定向过程中的逻辑漏洞,在用户毫无察觉的情况下截获登录凭证、支付信息等敏感数据。它已成为公共Wi-Fi、运营商劫持、恶意AP等场景中最隐蔽且高发的Web层威胁之一。

该问题本质上属于TLS/SSL协议部署层面的安全缺陷,而非证书本身失效。


SSL剥离攻击的技术机制

TLS握手前的“信任真空”

浏览器首次访问一个网站时,并未预知该站点是否支持HTTPS。

如果用户手动输入http://example.com或点击HTTP链接,连接即从明文开始。此时攻击者可拦截初始请求,在服务器返回301/302跳转至HTTPS前,直接向用户返回HTTP版本页面.

整个过程无证书验证环节,浏览器不会弹出任何警告。

HSTS缺失导致降级不可逆

当网站未启用HTTP Strict Transport Security(HSTS)响应头时,浏览器无法记住“该域名必须仅用HTTPS访问”的策略。攻击者一旦成功实施一次SSL剥离,后续即使用户手动输入https://,也可能被缓存的HTTP重定向覆盖。

Chrome、Firefox等现代浏览器已内置HSTS预加载列表,但未入表的中小网站完全暴露在此风险中。

混合内容与重定向链的放大效应

即便主站启用了HTTPS,若页面中嵌入了HTTP资源(图片、JS、iframe),攻击者可通过篡改这些资源注入恶意脚本,进一步诱导用户提交表单至HTTP接口。

这种混合内容(Mixed Content)问题会显著扩大SSL剥离的攻击面,尤其在老旧CMS或第三方插件泛滥的站点中极为常见。


SSL剥离攻击流程图式说明

攻击流程图式说明-g

sequenceDiagram
    autonumber
    actor User as 用户浏览器
    actor Hacker as 攻击者 (中间人)
    actor Server as 网站服务器

    rect rgb(240, 240, 240)
        Note over User, Server: HTTP 降级攻击 (SSL Strip) 与数据窃听流程
    end

    User->>Hacker: 访问 http://example.com (明文请求)
    Note over Hacker: 拦截请求,阻止 301 跳转<br/>并在后台代为向服务器发起安全连接
    Hacker->>Server: 发起加密连接 (HTTPS)
    Server-->>Hacker: 返回加密的 HTTPS 响应
    Note over Hacker: 剥离加密 (SSL Strip)<br/>将网页降级为不安全的旧 HTTP 页面
    Hacker-->>User: 返回不安全的 HTTP 页面
    User->>Hacker: 误以为安全,输入账号与明文密码
    Note over Hacker: ⚠️ 成功窃取明文数据!
    Hacker->>Server: 使用窃取的凭证进行恶意登录

看完上面的流程图,你可能会纳闷:“我明明设置了自动跳转 HTTPS,为什么用户还会拿到 HTTP 页面?”

问题就出在**“先斩后奏”**的时间差上。

当用户在浏览器输入网址或点击老链接时,默认发出的通常是 http:// 明文请求。

在你的服务器收到这个请求并发出“请跳转到 HTTPS”的指令之前,潜伏在同个 Wi-Fi 或网络节点中的黑客(中间人)就已经把这个请求拦截了。

黑客自己在后台用 HTTPS 顺畅地和你的服务器通信,却把服务器返回的加密网页剥离掉安全外壳(俗称 SSL Strip 攻击),变成一个一模一样的普通 HTTP 网页丢给用户。

用户的浏览器地址栏没有出现安全锁,但因为网页内容完全正常,用户毫无防备地输入了密码。这些密码在发出的瞬间,就被黑客看得一清二楚。

所以传统的服务器重定向就像是“到了店里保安才告诉你进门要戴口罩”,而黑客在路上就把你截胡了。要解决这个安全漏洞,就必须用到下面我们要讲的第二招——HSTS 强制加密,它能让浏览器在出门前就自觉戴好口罩。


SSL剥离攻击和SSL证书过期有什么区别?

很多站长会混淆。

可以解释:

问题本质
SSL剥离攻击HTTPS被强制降级
证书过期HTTPS证书失效
证书链错误浏览器无法信任
混合内容页面加载HTTP资源

工程实践中的防护要点

指标参考标准TopSSL专家建议
证书类型选择RFC 8705 / CA/B Forum BR v2.8DV证书可满足基础加密,但必须配合HSTS与OCSP Stapling;OV/EV证书对SSL剥离无直接防御作用,但提升用户端识别可信度
HSTS策略配置max-age=31536000; includeSubDomains; preload生产环境必须设置includeSubDomains并提交至Chrome HSTS Preload List;避免使用max-age=0测试模式上线
HTTP→HTTPS重定向CA/B Forum Baseline Requirements §7.1.2.2在Web服务器(Nginx/Apache/IIS)配置301永久重定向,禁用302临时跳转;CDN层需同步开启强制HTTPS(如Cloudflare Always Use HTTPS)

常见问题

安装了SSL证书就不用担心SSL剥离了吗?

不能。

SSL证书仅保障加密通道建立后的数据机密性,无法阻止连接初始阶段的协议降级。必须配合HSTS、全站HTTPS重定向及混合内容治理才能闭环防护。


免费SSL证书能否用于防御SSL剥离?

可以,但需确保部署完整。

Let’s Encrypt等免费证书在加密强度上与付费证书无差异,关键在服务器配置。TopSSL提供免费SSL证书申请服务,并附带HSTS配置检查工具。


移动App内嵌WebView是否面临SSL剥离风险?

A:是。Android WebView默认不校验SSL证书链,iOS WKWebView虽有严格校验但仍可能被代理工具绕过。必须启用Certificate Pinning(证书固定)并禁用明文HTTP加载。


相关知识链接

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn