网络攻击手法繁多,底层逻辑却相通:利用协议设计时的信任假设,或攻防双方的资源不对称。本文挑四类高频攻击——SYN Flood、DNS 劫持、中间人攻击、CSRF/XSS——每个都按”一句话原理、攻击链条、防御措施”拆解。

DDoS 与 SYN Flood

DDoS(分布式拒绝服务)是用大量”肉鸡”同时向目标发起请求,耗尽带宽或系统资源,让正常用户得不到服务。SYN Flood 是其中最经典的一种,原理一句话:攻击者只发 SYN 不回 ACK,让服务器为大量永远完不成的握手分配并持有半连接资源。

正常三次握手中,服务器收到 SYN 后回复 SYN-ACK,把这条半开连接放进队列、启动重传定时器,等待客户端的 ACK。攻击链条如下:

攻击者(或僵尸网络) --SYN(伪造源IP)--> 服务器
服务器 --SYN-ACK--> 伪造的源地址(石沉大海)
服务器: 半连接队列被占满, 定时器多次重传, 直到超时释放
正常用户: SYN 到达时队列已满, 直接被丢弃 --> 拒绝服务

关键在于资源不对称:发一个 SYN 几乎零成本,服务器却要分配内核结构并重传多次。防御措施:

  • SYN Cookie:收到 SYN 时不分配状态,把连接信息编码进 SYN-ACK 的序列号,只有合法 ACK 回来才重建条目——资源只花在完成握手的连接上。
  • 扩大半连接队列、缩短超时:能缓解小规模攻击,治标不治本。
  • 入口过滤(BCP38):运营商在网络边缘丢弃源地址伪造的报文,从源头压缩伪造空间。
  • 流量清洗、高防与 CDN:攻击流量在上游被识别分流,源站躲在分布式节点之后。

DNS 劫持

原理一句话:解析链路上的某一环被控制或伪造,用户拿到的不是真实 IP。攻击链条有几种形态:篡改用户路由器或本机的 DNS 配置指向恶意解析器;搭建恶意递归解析器直接返回钓鱼 IP;向递归解析器抢答伪造应答、污染其缓存(缓存投毒),TTL 内所有用户都被带偏。

用户 -> 递归解析器: "www.example.com 的 IP?"
攻击者抢答/篡改 -> 用户: 拿到钓鱼站 IP
用户与钓鱼站建立连接, 输入账号密码

防御措施:换用可信递归解析器并用 DoH/DoT 加密查询通道,防链路上的窃听与篡改;权威侧启用 DNSSEC 给记录签名,解析器验签拒绝伪造应答;对关键域名监控解析结果;浏览器侧 HSTS 加证书校验,能在用户被引到假站时再拦一道。

中间人攻击(MITM)

原理一句话:攻击者插入通信链路,与两端分别建立连接,转发的同时偷看或篡改全部内容。典型攻击链条:

  1. 先进入链路:ARP 欺骗把局域网流量引向自己、DNS 劫持把域名指到假站、或在公共场所架设同名 Wi-Fi 热点。
  2. 再解除加密:把 HTTPS 连接降级为 HTTP(SSL Strip),或出示伪造证书赌用户点”继续访问”。
  3. 坐在中间明文转发,账号、Cookie 全部到手。

防御措施:全站 HTTPS 并开启 HSTS,堵死降级路径;证书链校验失败绝不继续访问——浏览器的红色警告不是建议,是拦截;客户端敏感场景做证书固定(Pinning);局域网侧配合动态 ARP 检测与静态绑定。核心思想是:即使链路被插入,只要对端身份验不过、内容解不开,中间人就只剩”断网”这一招。

CSRF 与 XSS 的网络层视角

这两者发生在应用层,但从网络视角看本质清晰。

CSRF(跨站请求伪造):原理一句话——用户访问恶意页面时被诱导向已登录的目标站点自动发请求,浏览器自动携带目标站的 Cookie,服务器无法分辨请求是不是用户本意。攻击链:用户登录银行站拿到 Cookie,未退出时访问攻击者页面,页面里隐藏的表单或图片自动向银行发起转账请求,Cookie 随请求自动携带,服务器照单执行。防御:SameSite Cookie 属性、校验 CSRF Token、关键操作二次验证、检查 Referer/Origin。

XSS(跨站脚本):原理一句话——攻击者把恶意脚本注入目标站点的页面,脚本以该站身份在用户浏览器执行,可读 Cookie、可发请求。攻击链:站点把用户输入未转义地渲染进页面,攻击者提交含脚本的评论,其他用户浏览时脚本执行,Cookie 被发往攻击者服务器。防御:输出编码、CSP 限制脚本来源、HttpOnly 让脚本读不到会话 Cookie。

两者区别值得记住:CSRF 是”借用户的浏览器发请求”,脚本不进目标页面;XSS 是”把脚本送进目标页面”,能力更强,但依赖站点存在注入点。

小结

  • SYN Flood 利用握手资源不对称,SYN Cookie 是优雅的协议级解法,大流量靠上游清洗与高防。
  • DNS 劫持伪造的是应答,防护靠可信解析器、DoH/DoT 加密通道与 DNSSEC。
  • 中间人攻击先插入链路再解除加密,HTTPS 加 HSTS 加严格证书校验是核心防线。
  • CSRF 借浏览器带 Cookie 发请求,防御落在 SameSite 与 Token;XSS 把脚本注入页面,防御落在输出编码与 CSP。