教程
🛡️

网络安全

Web 安全、渗透测试、密码学与安全合规的系统化教程。

OWASP Top 10 与安全观:动手前先立规矩

从黑客守则、信息安全基本概念(病毒/木马/挖矿/漏洞/后门),到网络安全法律法规与 OWASP Top 10,建立合规、负责任的渗透测试价值观。

· 更新于 2026-07-18 阅读量 --

学了一堆工具,最容易飘。但安全这行,“能不能做”比”会不会做”重要一万倍。这一篇不讲具体漏洞,先把规矩常识立住:什么是漏洞、什么是后门,法律红线在哪,以及业界公认的 Web 风险清单 OWASP Top 10。

本系列所有技术内容,仅可用于你合法拥有或已获书面授权的目标(自有靶场、授权渗透项目)。任何未经授权的扫描、入侵、拖库都属违法,后果包括行政处罚乃至刑事责任。

黑客守则:负责任的黑客什么样

真正的”白帽黑客”有几条铁律:

  1. 授权优先:没拿到书面授权,绝不动手。口头”你帮我看看”不算数,要范围、时间、手段都写清楚;
  2. 最小影响:测试时避免把系统打挂、避免动真实用户数据;
  3. 保密:发现的问题只对客户说,不公开、不炫耀、不拿去威胁;
  4. 协助修复:交报告不是终点,帮对方把洞补上才是价值;
  5. 不碰不属于自己的东西:别人的服务器、别人的账号,再好奇也不碰。

记住一句话:技术可以用来证明能力,但用来伤害别人就是犯罪。

几个必须分清的基本概念

初学者常把几个词混为一谈,先理清楚:

  • 漏洞(Vulnerability):系统本身的缺陷,比如”密码没加密存”。漏洞是中性的,谁都能研究;
  • 病毒:能自我复制、依附其他文件传播的恶意程序;
  • 木马(特洛伊):伪装成正常程序的恶意程序,不自动复制,靠骗你运行;
  • 后门:攻击者偷偷留下的”随时能进”的通道,比如藏在代码里的隐藏账号;
  • webshell:能远程执行命令的网页脚本后门;
  • 挖矿木马:偷偷用你机器算力挖加密货币的恶意程序;
  • 0day:厂商还不知道、没有补丁的漏洞,价值极高也最敏感。

研究漏洞原理、写防御方案是正当的;利用漏洞窃取、破坏是违法的。 这条线要时刻绷紧。

法律红线:哪些事绝对不能做

我国《网络安全法》《刑法》第二百八十五条、二百八十六条对非法侵入、非法获取计算机信息系统数据、破坏计算机信息系统都有明确规定,情节严重可判刑。具体红线包括:

  • 未经授权侵入他人计算机信息系统;
  • 非法获取、出售公民个人信息;
  • 制造、传播计算机病毒等破坏性程序;
  • 对系统的功能、数据、应用程序进行删除、修改、增加、干扰,造成系统不能正常运行。

哪怕是”只是试试""没干坏事”,只要未经授权,就可能已经踩线。 所以本系列所有练习,都必须在你自己的靶场、或书面授权的项目里进行。

什么是授权渗透测试

正规的渗透测试(Penetration Test)是甲方花钱请白帽找自己系统的洞,流程包括:签合同 → 明确范围(哪些 IP/域名、什么手段、什么时间)→ 测试 → 出报告 → 协助修复。你拿到的”授权书”就是你的护身符,也是合法性的唯一依据。

没有授权书的”测试”,无论动机多好,法律上都站不住脚。

OWASP Top 10:Web 风险的”考试大纲”

OWASP(开放 Web 应用安全项目)是中立的安全组织,它发布的 Top 10 列出当年最严重、最普遍的十类 Web 风险,是行业共识,也是各类安全考试的基准。2021 版(当前主流)如下:

排名风险一句话
A01失效的访问控制(Broken Access Control)该拦的没拦住,能看/改别人的数据
A02加密机制失效(Cryptographic Failures)密码明文、传输不加密
A03注入(Injection)把数据当代码执行(SQLi、命令注入)
A04不安全设计(Insecure Design)架构层面就没考虑安全
A05安全配置错误(Security Misconfiguration)默认口令、多余功能、错误暴露
A06自带缺陷和过时的组件(Vulnerable Components)用了有已知漏洞的第三方库
A07身份鉴别和认证失败(Identification and Auth Failures)弱口令、会话被劫持
A08软件和数据完整性故障(Integrity Failures)不校验更新/反序列化被利用
A09安全日志和监控失败(Logging Failures)出事了没记录、没告警
A10服务端请求伪造(SSRF)借服务器身份访问内网

你会发现,后面十几篇讲的 SQLi、XSS、CSRF、SSRF、反序列化、逻辑越权,全都能在 Top 10 里找到位置。Top 10 就是你的学习地图:每学一类漏洞,就想想它对应哪一条,防御又该针对哪一条。

怎么用 Top 10 指导学习

建议这样对照着学:

  • A03 注入 ← 学 SQL 注入、命令注入(RCE);
  • A01 失效的访问控制 ← 学越权、未授权访问、目录穿越;
  • A07 认证失败 ← 学 JWT 伪造、弱口令、逻辑漏洞;
  • A10 SSRF ← 学服务端请求伪造;
  • A08 完整性故障 ← 学反序列化、文件上传;
  • A05 配置错误 ← 学中间件漏洞、信息泄露。

这样学,你脑子里的不是一堆零散漏洞,而是一张”风险 → 漏洞 → 防御”的网。

防御者视角同样重要

学渗透不是为了”会打”,最终是为了”会防”。每学一个攻击手法,立刻问自己:开发怎么写才不会被打? 比如学了 SQLi,你就懂了参数化查询为什么是铁律;学了 XSS,你就懂了输出转义为什么不能省。攻防一体,才是安全工程师的成长路径。

更多实战案例:用 OWASP Top 10 当检查清单

把 OWASP Top 10 当成你测试时的”体检表”,逐项核对:A01 是不是有失效的访问控制(改个 id 就能看别人数据)?A02 是不是有加密失败(密码明文、用 md5)?A03 是不是注入(SQL、命令、LDAP)?A05 是不是安全配置错误(目录遍历、默认口令、报错暴露堆栈)?A07 是不是认证缺陷(能暴破、会话不失效)?逐项走一遍,基本能覆盖绝大多数常见问题,不会漏掉大类。

更多实战案例: Broken Access Control 细拆

这是常年排第一的风险。典型表现:水平越权(用户 A 改 user_id=用户B 看到 B 的数据)、垂直越权(普通用户改 role=admin 拿到管理员)、未授权访问(直接访管 /admin 后台没拦)。测试时,用一个低权限账号,把请求里的标识改成别人的或管理员的,看系统是否”默认拒绝”——很多系统恰恰是”默认放行”,于是越权成立。

常见坑

  1. 只对照名字不理解本质:比如把”注入”只当成 SQL,漏掉命令、XPath、NoSQL 注入。
  2. 以为有 WAF 就安全:WAF 是缓解不是根治,绕过姿势很多。
  3. 忽视业务逻辑风险:Top 10 偏技术,业务漏洞(薅羊毛、并发超卖)要另外测。
  4. 只测登录态不测边界:越权往往在”改标识""改角色”的边界上。

进阶:从清单到报告

用 OWASP 分类能让你的发现更规范,报告里写明”属于 A01 失效访问控制,复现步骤是……,风险是……,修复建议是……”,开发一看就懂。Top 10 每年更新,关注最新版能跟上新型风险(如供应链、SSRF 上位)。

小测验

  • 问题1:常年排第一的 OWASP 风险是?答案:A01 失效的访问控制(越权类)。
  • 问题2:水平越权举例?答案:改 user_id 看到其他用户的数据。
  • 问题3:WAF 能替代修复吗?答案:不能,WAF 是缓解,绕过很多,根因要修代码。

更多实战案例:用 Top 10 做代码审计清单

白盒测试时,把 OWASP Top 10 当代码审计清单:全局搜 eval/system/unserialize 看注入与反序列化;搜 $_GET/$_POST 直接拼 SQL 看 SQL 注入;搜 echo/print 拼接用户输入看 XSS;搜文件操作函数看路径遍历与包含;搜权限判断处看越权。把”危险函数 + 用户输入”的汇聚点列出来,逐个验证,比盲测高效得多。

常见坑(终补)

  1. 只对照名字不理解本质:如把注入只当 SQL,漏掉命令、NoSQL 注入。
  2. 以为有 WAF 就安全:WAF 是缓解不是根治,绕过很多。
  3. 忽视业务逻辑风险:Top 10 偏技术,业务漏洞要另外测。
  4. 只测登录态不测边界:越权常在改标识、改角色的边界上。

进阶(终补):从清单到报告

用 OWASP 分类让发现更规范,报告写明”属于 A01 失效访问控制,复现步骤是……,风险是……,修复建议是……”,开发一看就懂。Top 10 每年更新,关注最新版能跟上新型风险。它既是测试清单,也是沟通语言。

小测验(终补)

  • 问题1:常年排第一的 OWASP 风险?答案:A01 失效的访问控制(越权类)。
  • 问题2:水平越权举例?答案:改 user_id 看到其他用户数据。
  • 问题3:WAF 能替代修复吗?答案:不能,WAF 是缓解,根因要修代码。

实战要点:把 Top 10 变成肌肉记忆

熟练后,看到任意功能都能自动对照 Top 10 过一遍:用户输入拼进 SQL 了吗(注入)?拼进 HTML 了吗(XSS)?能改标识访问别人数据吗(越权)?文件操作有路径穿越吗(包含/遍历)?权限判断有疏漏吗(认证缺陷)?配置有暴露吗(配置错误)?把这套检查内化,测试效率会大幅提升,也不会漏大类。

易错提醒

别只对照名字不理解本质(如注入不只是 SQL);别以为有 WAF 就安全(WAF 可绕过);别忽视业务逻辑风险(Top 10 偏技术,薅羊毛要另测);别只测登录态不测边界(越权常在改标识处)。Top 10 是清单不是全部,业务漏洞要单独走查。

自测

  • 常年排第一的 OWASP 风险?答:A01 失效的访问控制(越权类)。
  • 水平越权举例?答:改 user_id 看到其他用户数据。
  • WAF 能替代修复吗?答:不能,WAF 是缓解,根因要修代码。

延伸思考:Top 10 之外的风险

OWASP 还有 API Security Top 10(针对接口:对象级越权、批量分配、未限流等)、以及供应链安全(依赖库漏洞、构建投毒)。现代应用大量用第三方组件和 API,这些是新风险聚集地。学完 Web Top 10,下一步应关注 API 安全和软件供应链,才能覆盖当下真实威胁面。

一句话自测

  • Top 10 偏技术,什么风险要另测?答:业务逻辑风险(薅羊毛、并发超卖等)。
  • 学完 Web Top 10 下一步看什么?答:OWASP API Security Top 10 与供应链安全。

这一篇你该记住的

动手前先立规矩:白帽黑客守则是授权优先、最小影响、保密、协助修复;分清漏洞/病毒/木马/后门/webshell 的概念;法律红线是”未经授权即可能违法”,所有练习限自有靶场或书面授权项目。OWASP Top 10 是 Web 风险的行业共识地图,后面每类漏洞都能对应到它,按图学习、攻防一体。

规矩立住了,协议懂了,信息也收集完了,终于可以正面刚漏洞了。下一篇从最经典的 SQL 注入 讲起——它对应你二阶段学的 SQL,正因后端把用户输入拼进了 SQL,攻击才发生。