Skip to content
Kurisu
Go back

HTTPS 与 TLS 抓包原理:加密、哈希、编码到底差在哪

上一篇渗透入门结尾留了个尾巴:HTTP 抓到了,HTTPS 为什么抓不到?这篇专门讲透。这门课最大的价值是把几个最容易混的概念——加密、哈希、编码——一次掰清了。

0x01 四个基础概念:明文、密文、算法、密钥

一个直观的例子很直观:“数字移位”是算法,“移几位”是密钥。只知算法不知密钥,解密等于猜。所以安全的重心在密钥的保密,不在算法的神秘——现代算法全是公开的,照样安全。

0x02 编码不是加密,哈希也不是加密

这三个概念面试和实战里天天被混着用,课堂专门做了切割:

可逆性密钥目的
编码(Base64/URL)可逆方便存储传输、避免特殊字符误判
加密(AES/RSA)可逆机密性
哈希(MD5/SHA)不可逆无(理想)完整性校验

哈希的两个关键特性:

0x03 对称与非对称:密钥分发死结

对称加密(AES):加解密同一把钥匙。优点是快、省资源(“一把钥匙开一把锁”);死穴是密钥分发——在不信任的网络里把钥匙传给对方,路上被截获,加密形同虚设。“先有鸡还是先有蛋”的死循环。

非对称加密(RSA):公钥加密、私钥解密。公钥随便发,解决了分发问题;代价是计算开销大,不适合加密大流量数据。

HTTPS 的答案就是两者混用:非对称只用来协商对称密钥,对称密钥负责真正的数据传输——性能与安全的折中。

0x04 CA 与 PKI:防中间人的最后一环

非对称加密还有个漏洞没堵:你怎么知道公钥真是对方的?中间人可以把自己的公钥发给你,神不知鬼不觉地双向转发解密(这正是抓包工具的工作原理)。

**CA(证书权威机构)**的作用:为网站的公钥签名背书。浏览器内置了受信 CA 根证书列表,收到证书时验证签名链——对得上才信任。这就是 PKI(公钥基础设施)的核心逻辑。

0x05 回到抓包:为什么 HTTPS 需要装证书

现在整个链条通了:

  1. Burp 做中间人:对浏览器冒充服务器(出示自己的证书),对服务器冒充浏览器;
  2. HTTP 明文,直接拦;HTTPS 里浏览器要校验证书链——Burp 的证书不在受信列表,校验失败,连接中断
  3. 解决:把 Burp 的 CA 根证书(http://burp 下载)安装进浏览器/系统的”受信任的根证书颁发机构”。浏览器信任了 Burp 这个”假 CA”,中间人链路成立,HTTPS 就能抓了。

顺带纠正一个我之前的错误认知:这套原理也正是后面学 App 渗透时 SSL Pinning(证书绑定)绕过的基础——App 把校验做死在代码里,不认系统证书库,所以光装证书没用,得 Hook 掉校验逻辑(见 App 渗透篇)。面试答”SSL 能不能绕过”要小心:SSL/TLS 算法本身不可破(破了等于破解 RSA),能”绕”的只是实现层的校验逻辑——把这两者混为一谈在面试里是硬伤。

0x06 TLS 1.3 与实战补充

相关旧文


Share this post:

Previous Post
渗透入门第一课:法规红线、HTTP 协议与 Burp Suite 抓包的全流程
Next Post
SQL 注入课堂深挖:报错注入的原理细节与盲注脚本化