Web 安全总结与靶场推荐
前言
本文是对 Web 安全知识体系的一次系统总结,涵盖常见漏洞类型速查、危害等级评估、攻击链全景分析,以及精选靶场资源与学习路径建议。无论你是刚入门的安全新手,还是希望查漏补缺的进阶从业者,本文都能为你提供一份结构化的参考指引。
一、Web 安全漏洞类型速查表
下表总结了 Web 安全领域最常见的漏洞类型,涵盖漏洞原理、典型攻击方式及防御要点。
| 漏洞类型 | 核心原理 | 典型攻击方式 | 防御要点 |
|---|---|---|---|
| SQL 注入 | 用户输入混入 SQL 语句,改变查询语义 | 联合查询、盲注、报错注入、堆叠注入、二阶注入 | 参数化查询(PreparedStatement)、ORM 框架绑定变量、最小权限原则 |
| XSS(跨站脚本) | 恶意脚本注入页面,在受害者浏览器中执行 | 反射型(URL 参数)、存储型(评论区)、DOM 型(innerHTML) | 输出编码(HTML/JS/CSS 上下文)、CSP 策略、HttpOnly Cookie |
| CSRF(跨站请求伪造) | 利用用户已登录状态,伪造请求执行非授权操作 | 隐藏表单、图片标签、自动提交表单 | CSRF Token、SameSite Cookie(Strict/Lax)、Referer 校验 |
| SSRF(服务端请求伪造) | 服务端发起请求时未校验 URL,访问内网资源 | 协议探测、内网端口扫描、云元数据攻击 | URL 白名单、禁用重定向、内网地址黑名单 |
| RCE(远程命令执行) | 用户输入被拼接到系统命令或代码执行函数中 | 命令注入(;/` | /&&`)、表达式注入、模板注入、反序列化 |
| 文件上传漏洞 | 对上传文件类型/内容校验不严,导致恶意文件上传 | WebShell 上传、后缀绕过、内容检测绕过、.htaccess 攻击 | 白名单后缀校验、MIME 校验、内容检测、文件重命名、容器限制 |
| 访问控制失效 | 后端缺乏独立的权限校验,越权访问敏感资源 | 水平越权(IDOR)、垂直越权(越权管理员操作)、路径遍历 | 服务端统一权限校验、默认拒绝原则、最小权限原则 |
| 安全配置错误 | 默认配置未修改、调试接口未关闭、目录列表未禁用 | 默认密码登录、敏感信息泄露、暴露调试端点 | 基线安全配置、定期扫描、关闭不必要的服务和端口 |
| 加密机制失效 | 敏感数据明文传输或存储,弱加密算法 | 中间人攻击(MITM)、数据库泄露后数据直接暴露 | HTTPS 全站加密、强哈希加盐、加密密钥独立管理 |
| 不安全的反序列化 | 反序列化未校验数据来源,导致任意代码执行 | PHP/Java/Python 反序列化 Gadget 链利用 | 对反序列化数据进行完整性校验、避免反序列化不可信数据 |
| 日志与监控不足 | 缺乏有效的安全日志记录和攻击告警机制 | 攻击者在系统中长期潜伏而不被发现 | 集中日志管理、异常行为告警、定期审计 |
| XXE(XML 外部实体) | XML 解析器处理外部实体时泄露敏感文件 | 读取 /etc/passwd、SSRF 内网探测 | 禁用外部实体解析、使用 JSON 替代 XML |
| NoSQL 注入 | 用户输入改变 NoSQL 查询逻辑 | MongoDB $ne/$gt 操作符注入 | 参数化查询、输入类型校验 |
| LDAP 注入 | 用户输入改变 LDAP 查询结构 | 绕过认证、获取目录信息 | 转义特殊字符、白名单过滤 |
| JWT 安全风险 | JWT 签名验证不严或算法混淆 | alg: none 攻击、弱密钥爆破、密钥泄露 | 使用 RS256/ES256 非对称算法、验证签名、设置合理过期时间 |
二、漏洞危害等级评估
根据漏洞对系统保密性、完整性、可用性的影响程度,以及利用的难易程度,将常见漏洞划分为三个等级。
高危(Critical / High)
| 漏洞类型 | 危害描述 |
|---|---|
| RCE(远程命令执行) | 攻击者可完全控制服务器,执行任意系统命令,危害等级最高 |
| SQL 注入 | 可获取数据库全部数据,甚至通过 xp_cmdshell(MSSQL)或 INTO OUTFILE(MySQL)获取系统 Shell |
| 不安全的反序列化 | 在 Java/PHP/Python 等语言中可导致任意代码执行,等同 RCE |
| 文件上传漏洞 | 成功上传 WebShell 后可完全控制服务器,结合容器逃逸更可威胁整个集群 |
高危漏洞的共同特征:攻击者可以利用漏洞直接获取服务器或数据库的控制权,无需依赖额外的攻击条件。投产上线前必须通过代码审计、渗透测试、WAF 策略三重验证。
中危(Medium)
| 漏洞类型 | 危害描述 |
|---|---|
| SSRF(服务端请求伪造) | 可探测内网服务、读取云元数据,但需结合其他漏洞才能完成完整攻击 |
| CSRF(跨站请求伪造) | 可在用户不知情下执行敏感操作(修改密码、转账),但需用户已登录且点击恶意链接 |
| XSS(跨站脚本) | 可窃取用户 Cookie、进行钓鱼攻击,但影响范围限于浏览器客户端 |
| 访问控制失效(越权) | 可访问或操作用户数据,但通常局限于同一应用的权限范围内 |
| XXE(XML 外部实体) | 可读取服务器文件、发起 SSRF,但需要应用使用 XML 解析且未禁用外部实体 |
中危漏洞的共同特征:存在明确的危害路径,但通常需要与其他漏洞组合利用,或依赖于特定的用户交互(如点击链接)。
低危(Low)
| 漏洞类型 | 危害描述 |
|---|---|
| 安全配置错误 | 如目录列表未禁用、版本信息泄露等,通常作为信息收集的辅助手段 |
| 日志与监控不足 | 无法直接导致信息泄露,但会延长攻击者在系统中的潜伏时间 |
| JWT 无签名验证 | 在特定条件下可伪造 Token,但通常需要配合其他信息泄露漏洞 |
| 点击劫持(Clickjacking) | 通过透明 iframe 诱导用户点击,危害有限且依赖 UI 设计 |
低危漏洞的共同特征:单独的危害有限,但可以作为攻击链中的信息收集环节,辅助高危漏洞的利用。安全建设中应逐步修复,但优先级低于高危/中危。
三、攻击链全景图
一个完整的 Web 攻击链通常涵盖从信息收集到目标达成的多个阶段。以下是从入口点到数据窃取/权限提升的典型路径。
信息收集
├── 子域名枚举(Subfinder、Amass)
├── 端口扫描(Nmap、Masscan)
├── 指纹识别(Wappalyzer、WhatWeb)
├── 目录扫描(Dirsearch、Gobuster)
└── Google Hacking(site: target.com intitle:index of)
│
▼
漏洞探测与利用
├── SQL 注入 ──→ 数据库泄露 ──→ 管理员密码 ──→ 后台登录
├── XSS ──→ Cookie 窃取 ──→ 会话劫持 ──→ 越权操作
├── CSRF ──→ 伪造管理员请求 ──→ 添加管理员账户
├── SSRF ──→ 云元数据(AWS/阿里云)──→ 云凭证泄露
│ └── 内网 Redis/MongoDB ──→ RCE
├── 文件上传 ──→ WebShell ──→ 命令执行
├── RCE ──→ 反弹 Shell ──→ 内网穿透
└── 反序列化 ──→ 任意代码执行 ──→ 服务器控制
│
▼
权限维持与横向移动
├── 后门植入(WebShell、定时任务、SSH Key)
├── 内网扫描(fscan、LadonGo)
├── 凭证窃取(Mimikatz、浏览器密码导出)
├── 代理隧道(Frp、NPS、Neo-reGeorg)
└── 容器逃逸(privileged 容器、宿主机挂载逃逸)
│
▼
目标达成
├── 数据窃取(数据库导出、文件打包下载)
├── 权限提升(普通用户 → Root/Administrator)
├── 勒索部署 / 服务破坏
└── 供应链污染(CI/CD 注入、源码篡改)典型攻击场景举例
场景一:SQL 注入 → 数据泄露
- 信息收集阶段发现目标网站使用 ASP.NET + MSSQL
- 参数
id存在数字型注入,使用sqlmap自动化检测 - 通过联合查询获取
sysadmin账户哈希 - 破解哈希后登录数据库,导出全量用户数据(含身份证、手机号)
- 进一步通过
xp_cmdshell扩展执行系统命令,获取服务器权限
场景二:SSRF → 云凭证泄露
- 目标应用提供"URL 图片抓取"功能
- 构造
file:///proc/1/environ读取环境变量 - 发现
ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET - 使用泄露的云凭证登录阿里云控制台
- 下载 OSS 存储桶中所有业务数据
四、推荐靶场清单与使用指南
理论与实践相结合是掌握 Web 安全的最佳路径。以下靶场按难度和专精方向分类,供不同阶段的学习者选用。
4.1 DVWA(Damn Vulnerable Web Application)
| 项目 | 说明 |
|---|---|
| 类型 | PHP + MySQL,综合性入门靶场 |
| 官方地址 | https://github.com/digininja/DVWA |
| 安装方式 | Docker 一键部署:docker run --rm -it -p 80:80 vulnerables/web-dvwa |
| 难度级别 | Low / Medium / High / Impossible 四级,逐步提高防护强度 |
| 包含漏洞 | SQL 注入、XSS(反射/存储/DOM)、CSRF、文件上传、命令注入、SSRF、文件包含等 |
使用建议:从 Low 级别开始理解漏洞原理,逐级提高到 High 级别尝试绕过防御措施。Impossible 级别展示最安全的实现方式,值得仔细阅读源码。
4.2 SQLi-Labs
| 项目 | 说明 |
|---|---|
| 类型 | PHP + MySQL,SQL 注入专项靶场 |
| 官方地址 | https://github.com/Audi-1/sqli-labs |
| 安装方式 | Docker:docker pull acgpiano/sqli-labs |
| 关卡数量 | 65 关,覆盖 SQL 注入几乎所有变种 |
| 覆盖类型 | 联合查询、报错注入、盲注(布尔/时间)、堆叠注入、二阶注入、HTTP 头注入、WAF 绕过等 |
关卡速查(前 10 关):
| 关卡 | 类型 | 关键技巧 |
|---|---|---|
| Less-1 | 基于错误的单引号注入 | ' 闭合测试 |
| Less-2 | 基于错误的数字型注入 | AND 1=1 / AND 1=2 |
| Less-3 | 基于错误的单引号括号注入 | ') 闭合 |
| Less-4 | 基于错误的双引号括号注入 | ") 闭合 |
| Less-5 | 双查询报错注入 | floor() / extractvalue() / updatexml() |
| Less-6 | 双查询报错注入(双引号) | " 闭合后报错注入 |
| Less-7 | 导出文件 GETSHELL | INTO OUTFILE 写 Webshell |
| Less-8 | 布尔盲注 | length() / substr() / ascii() 逐字符推断 |
| Less-9 | 时间盲注 | IF(SLEEP()) 延时推断 |
| Less-10 | 时间盲注(双引号) | " 闭合后时间盲注 |
使用建议:按顺序从 Less-1 开始,每关尝试理解注入原理和闭合方式。第 5-6 关的报错注入和第 8-10 关的盲注是面试高频考点。
4.3 XSS-Labs / XSS Challenges
| 项目 | 说明 |
|---|---|
| 类型 | XSS 专项练习 |
| 推荐资源 | XSS-Labs(GitHub)、XSS Challenges(https://xss-quiz.int21h.jp/) |
| 覆盖类型 | 反射型 XSS、存储型 XSS、DOM XSS、各种过滤绕过技巧 |
| 常见绕过技巧 | 大小写混写、双写绕过、Unicode 编码、<img/onerror> 标签切换、<svg/onload>、<details/ontoggle> |
<!-- 常见 XSS Payload 示例 -->
<code v-pre><script>alert(1)</script></code>
<code v-pre><img src=x onerror=alert(1)></code>
<code v-pre><svg onload=alert(1)></code>
<code v-pre><details open ontoggle=alert(1)></code>使用建议:XSS-Labs 适合初学者建立绕过直觉,XSS Challenges(20 关)适合进阶挑战,每关引入一种新的过滤机制。
4.4 Upload-Labs
| 项目 | 说明 |
|---|---|
| 类型 | 文件上传漏洞专项靶场 |
| 官方地址 | https://github.com/c0ny1/upload-labs |
| 安装方式 | Docker:docker pull c0ny1/upload-labs |
| 关卡数量 | 21 关 |
| 覆盖类型 | 前端 JS 校验绕过、MIME 类型绕过、扩展名黑名单绕过、文件头检测绕过、.htaccess 绕过、竞争条件绕过等 |
关卡速查:
| 关卡范围 | 绕过方式 |
|---|---|
| Pass-01~03 | 前端校验绕过 / MIME 绕过 / 黑名单后缀绕过 |
| Pass-04~06 | .htaccess 解析绕过 / 大小写绕过 / 空格与点绕过 |
| Pass-07~09 | 数据流绕过 / 双扩展名绕过 / 特殊字符截断 |
| Pass-10~12 | 渲染/解析绕过 / 目录路径控制 |
| Pass-13~15 | 文件头内容检测绕过(GIF89a 等) |
| Pass-16~18 | 二次渲染绕过 / 竞争条件绕过 |
| Pass-19~21 | 综合绕过 / 代码审计 |
使用建议:逐关挑战,每关尝试理解服务端校验逻辑,阅读源码分析绕过原理。第 12 关后的内容检测绕过需要了解常见图片文件格式。
4.5 Pikachu
| 项目 | 说明 |
|---|---|
| 类型 | PHP + MySQL,中文 Web 漏洞靶场 |
| 官方地址 | https://github.com/zhuifengshaonianhanlu/pikachu |
| 安装方式 | Docker:docker pull 0xr0r/pikachu |
| 特色 | 全中文界面,漏洞解释详细,适合国内学习者 |
| 包含漏洞 | Burp Suite 暴力破解、XSS、CSRF、SQL 注入、RCE、文件包含、文件上传、越权、SSRF、XXE、不安全的反序列化等 |
模块速览:
| 模块 | 内容 |
|---|---|
| 暴力破解 | 表单暴力破解、验证码绕过、Token 绕过 |
| XSS | 反射型、存储型、DOM 型、XSS 盲打 |
| CSRF | GET 型、POST 型、Token 绕过 |
| SQL 注入 | 数字型、字符型、搜索型、XX 型、insert/update/delete 注入、"连裤袜"注入 |
| RCE | exec 命令注入、eval 代码注入 |
| 文件包含 | 本地文件包含(LFI)、远程文件包含(RFI) |
| 文件上传 | MIME 校验、getimagesize 校验 |
| 越权 | 水平越权、垂直越权 |
| SSRF | curl 和 file_get_contents 两种场景 |
| XXE | 有回显 XXE、无回显 XXE(Blind XXE) |
4.6 WebGoat
| 项目 | 说明 |
|---|---|
| 类型 | Java + Spring Boot,OWASP 官方靶场 |
| 官方地址 | https://github.com/WebGoat/WebGoat |
| 安装方式 | Docker 一键启动:docker run -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 webgoat/webgoat |
| 访问地址 | http://localhost:8080/WebGoat/ |
| 配套工具 | WebWolf(模拟攻击者服务器,端口 9090) |
| 覆盖内容 | 通用漏洞、访问控制、SQL 注入、XSS、CSRF、SSRF、JWT、XXE、不安全的反序列化、认证绕过、客户端安全、WebSocket 安全等 |
使用建议:WebGoat 的每个课程都有配套的"教学指南",点击 Lesson Plan 可阅读漏洞原理。很多关卡需要 WebWolf 配合完成,例如接收 CSRF Token 或 XSS 窃取的 Cookie。
4.7 VulHub
| 项目 | 说明 |
|---|---|
| 类型 | Docker 一键漏洞环境集合 |
| 官方地址 | https://github.com/vulhub/vulhub |
| 安装方式 | git clone 后 docker compose up -d |
| 环境数量 | 数百个预构建的漏洞环境 |
| 覆盖范围 | 常见中间件(Tomcat、WebLogic、JBoss)、框架(Struts2、Spring、ThinkPHP)、CMS(WordPress、Drupal、Discuz!)等已知 CVE 漏洞复现环境 |
使用建议:适合在了解漏洞原理后,通过 VulHub 在实际环境中复现 CVE 漏洞。每次测试完毕后务必执行 docker compose down 清理环境,避免资源占用。
4.8 PortSwigger Web Security Academy
| 项目 | 说明 |
|---|---|
| 类型 | 在线免费 Web 安全学习平台 |
| 官方地址 | https://portswigger.net/web-security |
| 配套工具 | Burp Suite(社区版免费) |
| 课程数量 | 20+ 主题,数百个实验(Lab) |
| 覆盖内容 | SQL 注入、XSS、CSRF、SSRF、文件上传、访问控制、JWT、GraphQL、WebSocket、原型污染(Prototype Pollution)、HTTP 请求走私(HTTP Request Smuggling)等 |
实验分级:
| 难度 | 说明 | 示例 |
|---|---|---|
| APPRENTICE(学徒) | 有明确的操作指引 | 使用 UNION SELECT 获取数据库版本 |
| PRACTITIONER(从业者) | 需自主分析漏洞 | 在评论区注入存储型 XSS 并窃取受害者的 Cookie |
| EXPERT(专家) | 复杂的组合利用 | 利用 HTTP 请求走私 + XSS 实现会话劫持 |
使用建议:强烈推荐作为系统性学习的主线平台。每个主题先阅读"课程内容"理解原理,再动手完成"实验"。Apprentice 级别完成后可建立信心,Practitioner 级别是面试常见难度。
五、学习路径建议
以下是一条经过验证的 Web 安全学习路径,分为四个阶段,帮助学习者从零基础逐步进阶。
第一阶段:基础入门(1~2 个月)
目标:理解 HTTP 协议、Web 应用架构,掌握基本的安全测试工具。
- [ ] HTTP/HTTPS 协议原理(请求方法、状态码、请求头、Cookie/Session 机制)
- [ ] HTML / JavaScript / SQL 基础语法
- [ ] Burp Suite 基本操作(Proxy 抓包改包、Repeater、Intruder)
- [ ] 完成 DVWA Low 级别全部关卡
- [ ] 完成 Pikachu 基础模块(暴力破解、XSS、CSRF)
- [ ] 阅读 OWASP Top 10 2021 了解全景
推荐资料:
- 《白帽子讲 Web 安全》(吴翰清 著)
- PortSwigger Web Security Academy 的 Apprentice 级别实验
第二阶段:核心突破(2~3 个月)
目标:深入掌握三大核心漏洞(SQL 注入、XSS、文件上传),完成专项靶场。
- [ ] 完成 SQLi-Labs 全 65 关(重点理解各关卡的闭合方式和注入技巧)
- [ ] 完成 XSS-Labs 全关卡 + 了解 XSS 绕过技巧
- [ ] 完成 Upload-Labs 全 21 关
- [ ] 掌握 sqlmap 自动化注入工具的高级用法(--tamper、--level、--risk)
- [ ] 理解 CSRF 原理及防御机制(SameSite Cookie、CSRF Token)
- [ ] 完成 DVWA Medium / High 级别挑战
推荐资料:
- 《Web 安全深度剖析》(张炳帅 著)
- CSDN / 先知社区 / FreeBuf 上的实战文章
第三阶段:进阶提升(3~4 个月)
目标:掌握 SSRF、RCE、反序列化、越权等高阶漏洞,完成综合靶场。
- [ ] 完成 WebGoat 全部课程
- [ ] 完成 PortSwigger Academy Practitioner 级别的实验
- [ ] 通过 VulHub 复现至少 10 个真实 CVE 漏洞
- [ ] 深入学习 Java / PHP 反序列化漏洞原理
- [ ] 理解 SSRF 攻击技巧(Cloud Metadata、内网协议探测)
- [ ] 学习 JWT 安全风险(算法混淆、密钥爆破、KID 注入)
- [ ] 掌握内网渗透基础知识(Frp 隧道、Nmap 内网扫描)
推荐资料:
- 《Web 安全攻防:渗透测试实战指南》(徐焱 著)
- OWASP 官方 Cheat Sheet Series(https://cheatsheetseries.owasp.org/)
第四阶段:精通实战(持续)
目标:参与真实渗透测试项目、SRC 漏洞挖掘、CTF 比赛。
- [ ] 在补天 / 漏洞盒子 / HackerOne 平台提交漏洞
- [ ] 参加 CTF 比赛(如 XCTF 国际赛、强网杯)
- [ ] 阅读并复现主流攻击框架(Metasploit、Cobalt Strike)的技巧
- [ ] 深入研究 WAF 绕过技术(SQL 注入 + XSS)
- [ ] 关注 0day 漏洞信息,跟进补丁分析
- [ ] 参与企业红蓝对抗(Red Teaming)
推荐资源:
- HackerOne Hacktivity(实时公开漏洞报告)
- Twitter 安全研究员(@gynvael、@orange_8361、@phithon_xg)
- 先知安全技术社区(https://xz.aliyun.com/)
六、推荐书籍、博客与工具资源
书籍推荐
| 书名 | 作者 | 推荐理由 |
|---|---|---|
| 《白帽子讲 Web 安全》 | 吴翰清 | 国内 Web 安全入门经典,语言通俗,示例丰富 |
| 《Web 安全深度剖析》 | 张炳帅 | 侧重漏洞原理分析,适合进阶学习 |
| 《Web 安全攻防:渗透测试实战指南》 | 徐焱 | 大量实战案例,贴近真实场景 |
| 《OWASP 测试指南》 | OWASP 官方 | 开源免费,权威的渗透测试方法论 |
| 《The Web Application Hacker's Handbook》 | Dafydd Stuttard | Web 安全"圣经",Burp Suite 作者撰写 |
优质博客与社区
| 资源 | 地址 | 说明 |
|---|---|---|
| 先知安全技术社区 | https://xz.aliyun.com/ | 阿里安全旗下,高质量原创文章 |
| FreeBuf | https://www.freebuf.com/ | 国内最大安全媒体,资讯 + 技术文章 |
| 先知白帽大会 | https://xianzhi.aliyun.com/ | 漏洞分析、安全研究深度文章 |
| PortSwigger Research | https://portswigger.net/research | Burp Suite 团队发布的最新研究 |
| Orange Tsai's Blog | https://blog.orange.tw/ | 世界级安全研究者的博客,多次获得 Pwn2Own 冠军 |
| phithon 的博客 | https://www.leavesongs.com/ | 深入浅出的漏洞分析文章 |
| HackerOne Hacktivity | https://hackerone.com/hacktivity | 实时公开漏洞报告,学习真实挖掘思路 |
工具清单
| 类别 | 工具 | 说明 |
|---|---|---|
| 综合测试 | Burp Suite Professional | Web 安全测试首选,支持 Proxy/Repeater/Intruder/Scanner |
| 自动化扫描 | OWASP ZAP | 开源免费,适合 CI/CD 集成 |
| SQL 注入 | sqlmap | 自动化 SQL 注入检测与利用,支持几乎所有数据库类型 |
| 端口扫描 | Nmap / Masscan | Nmap 功能全面,Masscan 极速扫描 |
| 目录扫描 | Dirsearch / Gobuster | 发现隐藏目录和文件 |
| 子域名枚举 | Subfinder / Amass / OneForAll | 收集目标子域名,扩大攻击面 |
| 指纹识别 | WhatWeb / Wappalyzer | 识别 Web 技术栈信息 |
| 内网扫描 | fscan / LadonGo | 内网横向移动的利器 |
| 代理隧道 | Frp / NPS / Neo-reGeorg | 建立稳定的内网穿透隧道 |
| 爆破工具 | Hydra / Medusa | 支持 FTP/SSH/HTTP 多种协议在线密码爆破 |
| 流量抓包 | Wireshark / tcpdump | 网络层流量分析 |
| 逆向分析 | JADX / Ghidra / IDA Pro | APK 逆向、二进制分析 |
| 漏洞调试 | VSCode + 调试器 / WinDbg | 动态分析漏洞利用过程 |
七、安全从业者核心原则
3-2-1 原则(用于渗透测试)
- 3 种方式:对同一个目标至少使用三种不同的方法做同一件事(如:手动测试 + 自动化扫描 + 代码审计)
- 2 个视角:同时从"攻击者视角"和"防御者视角"思考问题
- 1 个前提:永远在获得合法授权的前提下开展工作
安全开发的 SDL 原则
- 安全左移:安全测试从开发阶段就开始介入,而非等到上线前
- 纵深防御:从网络层、应用层、数据层、业务层等不同层面设置多层防御
- 最小权限:每个用户、每项服务只授予完成工作所需的最小权限
- 默认安全:系统的默认配置应当是安全的,而非需要用户手动加固
- 永不信任:对来自任何来源的输入均进行校验,包括内部服务之间的调用
结语
Web 安全是一个需要持续学习和实践的领域。技术栈在快速演进(微服务、云原生、Serverless 带来新的攻击面),攻击手法也在不断进化。本文总结的内容是所有 Web 安全从业者必须掌握的基础知识框架。
建议将本页面作为一个"导航地图"——当你想查找某个漏洞类型时,参考速查表了解其核心原理;当你准备动手练习时,从靶场清单中选择对应的环境;当你规划学习路线时,参考四个阶段的路径设计。
记住:安全不是一种产品,而是一种思维方式。祝学习愉快!
扩展阅读:本系列的其他文档可参考 OWASP Top 10 全景解读、SQL 注入详解、XSS 跨站脚本攻击、CSRF 跨站请求伪造、SSRF 服务端请求伪造、RCE 远程命令执行、文件上传漏洞与任意文件读取。