学了一堆工具,最容易飘。但安全这行,“能不能做”比”会不会做”重要一万倍。这一篇不讲具体漏洞,先把规矩和常识立住:什么是漏洞、什么是后门,法律红线在哪,以及业界公认的 Web 风险清单 OWASP Top 10。
本系列所有技术内容,仅可用于你合法拥有或已获书面授权的目标(自有靶场、授权渗透项目)。任何未经授权的扫描、入侵、拖库都属违法,后果包括行政处罚乃至刑事责任。
黑客守则:负责任的黑客什么样
真正的”白帽黑客”有几条铁律:
- 授权优先:没拿到书面授权,绝不动手。口头”你帮我看看”不算数,要范围、时间、手段都写清楚;
- 最小影响:测试时避免把系统打挂、避免动真实用户数据;
- 保密:发现的问题只对客户说,不公开、不炫耀、不拿去威胁;
- 协助修复:交报告不是终点,帮对方把洞补上才是价值;
- 不碰不属于自己的东西:别人的服务器、别人的账号,再好奇也不碰。
记住一句话:技术可以用来证明能力,但用来伤害别人就是犯罪。
几个必须分清的基本概念
初学者常把几个词混为一谈,先理清楚:
- 漏洞(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 后台没拦)。测试时,用一个低权限账号,把请求里的标识改成别人的或管理员的,看系统是否”默认拒绝”——很多系统恰恰是”默认放行”,于是越权成立。
常见坑
- 只对照名字不理解本质:比如把”注入”只当成 SQL,漏掉命令、XPath、NoSQL 注入。
- 以为有 WAF 就安全:WAF 是缓解不是根治,绕过姿势很多。
- 忽视业务逻辑风险:Top 10 偏技术,业务漏洞(薅羊毛、并发超卖)要另外测。
- 只测登录态不测边界:越权往往在”改标识""改角色”的边界上。
进阶:从清单到报告
用 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;搜文件操作函数看路径遍历与包含;搜权限判断处看越权。把”危险函数 + 用户输入”的汇聚点列出来,逐个验证,比盲测高效得多。
常见坑(终补)
- 只对照名字不理解本质:如把注入只当 SQL,漏掉命令、NoSQL 注入。
- 以为有 WAF 就安全:WAF 是缓解不是根治,绕过很多。
- 忽视业务逻辑风险:Top 10 偏技术,业务漏洞要另外测。
- 只测登录态不测边界:越权常在改标识、改角色的边界上。
进阶(终补):从清单到报告
用 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,攻击才发生。