Spring家族漏洞速览(SPEL/Spring4Shell/Actuator)

Spring 系列高危漏洞速览:Spring4Shell、SpEL RCE、Actuator 信息泄露、Fastjson 联动,含影响版本和修复版本对照表。

写在前面:合法学习边界

本文讲 TCP 协议原理,不涉及攻击利用。

一、TCP 三次握手

TCP 三次握手与四次挥手
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
第 1 步:Client 发送 SYN(syn=x)→ Server
  状态:Client: SYN_SENT | Server: LISTEN

第 2 步:Server 回复 SYN+ACK(syn=y, ack=x+1)→ Client
  状态:Server: SYN_RCVD | Client: ESTABLISHED

第 3 步:Client 发送 ACK(ack=y+1)→ Server
  状态:Client: ESTABLISHED | Server: ESTABLISHED

连接建立,开始数据传输

为什么是三次而不是两次?

1
2
3
第三次是 Client 确认 Server 的 ACK 能力。
如果只有两次,Client 无法确认 Server 能正常接收数据。
三次握手同时初始化了双方的序列号(ISN)。

二、TCP 四次挥手

1
2
3
4
5
6
第 1 步:Client 发送 FIN → Server(请求关闭)
第 2 步:Server 回复 ACK(确认,但可能还有数据要发)
第 3 步:Server 发送 FIN → Client(数据发完后请求关闭)
第 4 步:Client 回复 ACK → Server(确认后进入 TIME_WAIT)

TIME_WAIT 状态持续 2MSL(最长报文段寿命),确保最后一个 ACK 到达 Server。

为什么是四次?

1
2
3
TCP 是全双工协议,Client 和 Server 各自独立关闭。
Client 说"我发完了",Server 说"好的"但可能还有数据要发,
所以不能合并。

三、TCP 标志位

1
2
3
4
5
6
SYN  = 同步(建立连接)
ACK  = 确认
FIN  = 结束
RST  = 重置连接
PSH  = 推送数据
URG  = 紧急指针

四、小结

三次握手保证双方收发能力正常 + 初始化序列号。四次挥手保证全双工连接优雅关闭。TIME_WAIT 是防止最后一个 ACK 丢失的机制。