Web 安全攻防总结与核心知识点梳理
引言
网络安全范畴广泛,相较于二进制安全的高门槛,Web 安全体系相对成熟。对于拥有网站及数据安全需求的企业而言,Web 安全工程师是不可或缺的角色。本文旨在系统梳理 Web 安全的核心知识体系,涵盖从网络基础到内网渗透、防御技术的完整链路,帮助读者建立扎实的安全认知。
一、计算机网络与协议基础
理解网络协议是进行 Web 安全分析的前提。
1. 传输层协议
- TCP 协议:面向连接、可靠传输。安全分析中常关注三次握手、四次挥手过程中的状态机异常,以及 SYN Flood 等拒绝服务攻击原理。
- UDP 协议:无连接、不可靠。常用于 DNS 查询、视频流媒体。DNS 放大攻击即利用 UDP 协议的反射特性。
2. 应用层协议
- HTTP/HTTPS:HTTP 明文传输易被窃听篡改,HTTPS 通过 SSL/TLS 加密保障传输安全。需关注中间人攻击(MITM)及证书验证机制。
- DNS 系统:域名解析过程。DNS 劫持、缓存投毒是常见的攻击手段。
- IPsec:网络层安全协议,用于构建虚拟专用网(VPN),保护 IP 数据包。
二、常见漏洞攻防技术
1. 注入类漏洞
- SQL 注入:攻击者将恶意 SQL 语句插入输入字段,欺骗后端数据库执行。防御措施包括参数化查询、存储过程及输入过滤。
- 命令注入:在服务器端执行系统命令。通常发生在调用
system()、exec()等函数时未对用户输入进行严格校验。
2. 跨站脚本与请求伪造
- XSS(跨站脚本):分为反射型、存储型和 DOM 型。攻击者注入恶意脚本,在受害者浏览器执行。防御需对输出内容进行 HTML 实体编码。
- CSRF(跨站请求伪造):诱导用户点击链接,在不知情的情况下发送请求。防御依靠 Token 验证及 SameSite Cookie 属性。
3. 其他高危漏洞
- SSRF(服务端请求伪造):攻击者诱导服务器向内部网络发起请求,探测内网信息或访问受限资源。
- 文件上传/包含:绕过上传限制上传 Webshell,或通过文件包含读取敏感文件。
- XXE(XML 外部实体注入):解析 XML 时加载外部实体,导致文件读取或内网探测。
- 逻辑漏洞:业务逻辑缺陷,如越权访问、支付金额篡改、密码找回绕过等。
三、语言与框架安全
不同编程语言和框架存在特定的安全风险。
- PHP:早期版本配置不当易导致远程代码执行,需注意
allow_url_include等配置项。 - Java:反序列化漏洞是 Java 领域的高危风险点,需警惕不安全的对象反序列化操作。
- Python:Django 和 Flask 框架需关注模板注入及依赖包漏洞。
- JavaScript/Node.js:原型污染可能导致逻辑绕过,需规范对象处理逻辑。
- Golang/Ruby:同样需关注并发安全及依赖管理。
四、内网渗透技术
突破边界后,内网渗透是评估企业纵深防御能力的关键。
1. 信息收集
- Windows/Linux:使用 , , 等命令获取主机信息、网络拓扑及进程列表。


