前置知识: Networking

Web 安全与渗透测试

6 min中级

Web 安全知识块导览:OWASP Top 10 攻防全景图、九大漏洞类别的入口索引、渗透测试与 Web 安全的学习路线。

Web 安全与渗透测试

知识点地图

  • 知识类别:知识块导览——Web 漏洞(150-280)与渗透测试方法论(360 系列)两个知识块的地图页。
  • 解决什么问题:Web 安全是安全模块里篇目最多的知识块(注入、XSS、CSRF、SSRF、上传、反序列化……),新人最常见的迷路方式是「从 SQL 注入的 payload 背起」。本篇先立全景:OWASP Top 10 是什么坐标系、每个漏洞类别的入口篇在哪、按什么顺序攻防成对地学。
  • 什么时候用到:进入 Web 安全知识块时定入口;逐个漏洞学习时回来定位「下一个该读哪篇」;向别人推荐路线时当索引。

1. 全景:一个 Web 应用的攻击面

把一个典型 Web 应用从外到内切开,每一层对应模块里的一个漏洞族:

入口:URL 与参数

注入族:SQL/命令注入

180/270

脚本族:XSS 反射/存储/DOM

190/200

伪造族:CSRF/SSRF

210/220/230

入口:文件上传

上传专项

275

入口:请求体(序列化数据)

反序列化

260

入口:XML/外部实体

XXE

240/250

防线:输入验证 170

纵深:Web 安全 280

运行时:WAF 350

入口:URL 与参数

注入族:SQL/命令注入

180/270

脚本族:XSS 反射/存储/DOM

190/200

伪造族:CSRF/SSRF

210/220/230

入口:文件上传

上传专项

275

入口:请求体(序列化数据)

反序列化

260

入口:XML/外部实体

XXE

240/250

防线:输入验证 170

纵深:Web 安全 280

运行时:WAF 350

mermaid diagram

OWASP Top 10(2021)是这个地图的官方坐标——前十风险与模块入口的对照:

排名风险模块入口
A01权限控制失效(越权、IDOR)OWASP Top 10 详解
A02加密机制失效密码学应用
A03注入SQL 注入、命令注入
A04不安全设计安全编码原则
A05安全配置错误文件上传安全、Web 安全纵深
A06易受攻击和过时的组件漏洞扫描工具
A07身份识别和认证失败认证与授权、JWT 安全实践
A08软件和数据完整性失败反序列化漏洞
A09安全日志和监控失效SOC 安全运营
A10服务器端请求伪造SSRF 攻击

2. 攻防成对的学习顺序

模块把每类漏洞拆成「攻击」与「防御」两篇,学习时成对读,先懂攻击再记防御:

  1. OWASP Top 10 详解——坐标系本身,先建立全局观;
  2. SQL 注入——注入族的代表,参数化查询是第一道必修防线(输入验证 配套);
  3. XSS 攻击 + XSS 防御——脚本族;
  4. CSRF 攻击 + CSRF 防御——伪造族;
  5. SSRF 攻击、XXE 攻击 + XXE 防御、反序列化、命令注入——进阶四类;
  6. 文件上传安全——独立专项,攻防一体;
  7. Web 安全纵深——把以上所有防御收束成纵深体系,WAF 规则 做运行时兜底。

3. 渗透测试:把「攻」系统化

漏洞会旧、方法论不旧。渗透测试块回答「如何有章法地验证安全」:

所有工具操作只在授权靶场(DVWA、Juice Shop)与自有资产上练习,法律红线见 渗透测试方法论 第 5 节。

4. 动手实践

练习一:给一个真实站点画攻击面图

任务:选一个你负责的开源项目或个人站点,按第 1 节的六类入口(URL 参数、上传、序列化、XML…)各找出一个具体落点(没有的写「无此入口」),标注每类对应的防御篇。 提示:入口跟着「用户输入能到达哪里」走——有搜索框就有注入面,有评论框就有 XSS 面,找不到入口的类别可以放心跳过。

练习二:OWASP Top 10 自查表

任务:对照第 1 节的对照表,为你自己的项目逐项回答「A01-A10 各是什么状态」,写出三条最优先整改项。 提示:不确定的项先标「待验证」,这就是后续渗透实践(第 3 节)的任务清单——安全工作的起点是把「不知道」变成「待验证清单」。

练习三:搭靶场并跑通第一次注入

任务:部署 DVWA 后进入 SQL Injection 模块(Low 难度),手工构造一个 ' OR '1'='1 验证注入存在,再读 SQL 注入 的防御节解释为什么参数化查询能挡住它。 提示:先把现象做出来再去读原理,防御篇的每句话都会「对上号」。

5. 与之前和之后的知识的关系

  • 往前:安全基础与防御 的模块地图里,本篇是「Web 漏洞」知识块的入口;HTTP 基础与浏览器机制是前置;
  • 旁支:渗透测试块(360 系列)负责「怎么验证」,本篇的漏洞块负责「攻的是什么」;
  • 往后:Web 漏洞是应用层攻击面,再往下走是主机与二进制层——二进制漏洞利用 与 恶意软件分析。

6. 自我检查

  • 能不看资料复述 OWASP Top 10(2021)的至少五项,并为每项指出模块入口篇;
  • 能说出「攻击/防御成对」结构的意义,并举出一对(如 190+200);
  • 能画出六类入口到漏洞族到防御篇的对应图;
  • 能说清渗透测试为什么必须「先读方法论再碰工具」。

本章总结

本篇是 Web 安全知识块的地图页:一个应用的六类输入入口对应六个漏洞族,OWASP Top 10 给出官方坐标,模块以「攻击/防御成对」的组织方式展开(180+170、190+200、210+220、240+250,以及攻防一体的 275 上传专项);渗透测试块(360 系列)把「攻」流程化,是验证防御的尺子。从这张图选你的入口,然后——每一篇都值得在靶场里亲手做一遍。

参考与致谢