1. 什么是CSRF攻击
跨站请求伪造(Cross-Site Request Forgery,简称CSRF)是一种攻击方式,它迫使终端用户在当前已认证的Web应用程序上执行不需要的操作。CSRF攻击专门针对状态更改请求,而不是数据窃取,因为攻击者无法查看对伪造请求的响应。
1.1 CSRF攻击的特点
- 欺骗性: 攻击者利用用户已经登录的目标网站身份发起非法请求
- 隐蔽性: 用户在不知情的情况下执行了非意愿操作
- 依赖性: 攻击的成功依赖于用户已经在目标网站处于登录状态
跨站请求伪造(Cross-Site Request Forgery,简称CSRF)是一种攻击方式,它迫使终端用户在当前已认证的Web应用程序上执行不需要的操作。CSRF攻击专门针对状态更改请求,而不是数据窃取,因为攻击者无法查看对伪造请求的响应。
HTTP 是无状态协议,无法识别用户或保持会话。
为解决这个问题,引入了 Cookie(客户端存储) 和 Session(服务器存储) 技术。
Cookie 是服务器发送到浏览器并存储在本地的小数据文件。
浏览器下次请求时会自动携带 Cookie,用于识别用户。
Set-Cookie分布式拒绝服务攻击(DDoS,Distributed Denial of Service)是一种利用大量被控制设备同时向目标发送请求的攻击方式。
其目的是耗尽目标的带宽或系统资源,使网站或服务无法正常响应。
特点:
HTTPDNS 是一种通过 HTTP 协议 查询域名的技术。
它不再依赖本地或运营商的 DNS,而是让客户端直接向服务商的 DNS 服务器发请求,拿到正确的 IP 地址。
简单理解:
平时访问网站时,系统会去问“家里的 DNS”,而 HTTPDNS 是“直接问官网要地址”,中间没人能插手。
传统 DNS 的过程是这样的:
OSI(Open System Interconnection,开放系统互连)模型是国际标准化组织(ISO)制定的通信体系结构,用来指导计算机网络的设计与实现。
它把复杂的网络通信分成 7 个层次,每层负责不同的功能。
| 层次 | 名称 | 主要功能 | 常见设备/协议 |
|---|---|---|---|
| 7 | 应用层 | 为用户提供网络服务 | HTTP、FTP、SMTP、DNS |
| 6 | 表示层 | 数据格式转换、加密压缩 | JPEG、MPEG、SSL/TLS |
| 5 | 会话层 | 建立、管理和终止会话 | RPC、SQL、NFS |
| 4 | 传输层 | 端到端通信、可靠传输 | TCP、UDP |
| 3 | 网络层 | 路由选择、逻辑寻址 | IP、ICMP、ARP |
| 2 | 数据链路层 | 帧传输、错误检测 | 交换机、网桥、MAC |
| 1 | 物理层 | 比特传输、物理接口 | 网卡、集线器、光纤、网线 |
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接、可靠传输的协议。
在建立与断开连接时,TCP 通过**三次握手(Three-way Handshake)与四次挥手(Four-way Handshake)**来确保通信可靠。
确保客户端和服务器双方都具备收发能力,并建立可靠的逻辑连接。
第一次握手(SYN)
SYN=1, seq=x)SYN_SENT 状态第二次握手(SYN+ACK)
SYN=1, ACK=1, seq=y, ack=x+1)SYN_RCVD 状态第三次握手(ACK)
ACK=1, ack=y+1)ESTABLISHED 状态,连接建立成功