游客发表
OWASP Top 10 里没有“服务器配置错误”这个独立类别。中常很多人第一次看到这份榜单时会愣一下——SQL注入、见漏XSS、包括失效的中常访问控制都在,怎么偏偏少了运维层面最常踩的见漏坑?答案其实藏在版本迭代里。2017版曾经有过“安全配置错误”(Security Misconfiguration),包括2021版把它合并进了“A05:2021 – 安全配置错误”。中常但如果你问的见漏是“常见漏洞中绝对不包括哪个”,那得看具体年份和语境。包括
拿2021版来说,中常十大类别分别是见漏:失效的访问控制、加密失败、包括注入、中常不安全设计、见漏安全配置错误、包括易受攻击和过时的组件、身份识别和认证失败、软件和数据完整性失败、安全日志和监控失败、服务端请求伪造。这里面没有“跨站请求伪造”(CSRF)。CSRF在2013版和2017版都出现过,2021版直接删了。原因不复杂:现代框架(比如Spring Security、Django、Rails)默认带CSRF token,浏览器SameSite cookie策略也普及了,单独列一个类别性价比太低。所以如果你拿2021版当基准,CSRF就是那个“常见但不在榜”的漏洞。
我去年给一家做电商的中型公司做代码审计,他们的登录接口用了JWT,但没校验签名算法,攻击者可以把alg改成none直接伪造token。这属于“身份识别和认证失败”,在榜。可他们另一个问题——Nginx配置里开了目录浏览,导致备份文件被下载——按2021版归类就是“安全配置错误”,也在榜。真正不在榜的是他们后台的CSRF漏洞:删除订单的接口没有token校验,但攻击者得先诱导管理员点击链接。我提了修复建议,对方问“OWASP Top 10里排第几”,我只能说“不在前十,但你们得修”。
再往前看,2017版没有“不安全设计”(Insecure Design),这个类别是2021版新加的。它强调威胁建模和设计缺陷,比如密码重置问题只靠安全问题、没有速率限制。2017版也没有“软件和数据完整性失败”,那是2021版把“不安全的反序列化”和“使用含有已知漏洞的组件”拆开重组的结果。所以“常见漏洞不包括哪个”这个问题,答案取决于你手里是哪一版。拿2021版问,CSRF、点击劫持、不安全的反序列化(作为独立类别)都不在。拿2017版问,不安全设计、软件完整性失败不在。
有个细节值得留意:OWASP Top 10不是漏洞列表,是风险类别。它按“发生频率+利用难度+影响范围”综合排序,不是按“常见程度”单纯排名。比如“加密失败”排第二,但很多小公司连HTTPS都没配全,这算常见;可“服务端请求伪造”排第十,实际遇到的人不多,因为需要特定功能场景(比如URL预览、Webhook)。所以“常见漏洞”这个词本身就有歧义。你要是问“日常渗透测试里最常打出但不在榜的”,我会投CSRF一票。你要是问“代码审计里高频出现但2021版没单列的”,不安全的反序列化算一个——它被塞进了“软件和数据完整性失败”。
最后说个反直觉的:OWASP Top 10从来不包括“弱密码”这个独立项。它被拆到“身份识别和认证失败”和“加密失败”里。但你在任何真实环境里扫一圈,弱密码永远排前三。榜单是给开发团队看的优先级参考,不是漏洞百科全书。别拿它当 checklist 用,否则你会漏掉CSRF、点击劫持、业务逻辑漏洞这些真正能打穿系统的玩意儿。
友情链接