OWASP 十大漏洞列表对于跟踪网络安全的变化非常有用,因为它专门用于包含最近报告期内最常见的漏洞。如果某个漏洞出现在多个版本的列表中,这可能表明提高人们对该漏洞的认识并让开发人员停止犯错的努力没有取得多大成果。
下表显示了 OWASP Top Ten 的所有三个版本,结果并不理想。
注射 注射 注射
跨站点脚本 身份验证和会话管理失效 身份验证失败
身份验证和会话管理失效 跨站点脚本 敏感数据泄露
不安全的直接对象引用 不安全的直接对象引用 XML 外部实体 (XEE)
跨站请求伪造 安全配置错误 访问控制失效
安全配置错误 敏感数据泄露 安全配置错误
不安全的加密存储 缺少功能级别访问控制 跨站点脚本
未能限制 URL 访问 跨站请求伪造 不安全的反序列化
传输级别保护不足 使用已知易受攻击的组件 使用具有已知漏洞的组件
未经验证的重定向和转发 未经验证的重定向和转发 日志记录和监控不足
以下漏洞显然整体上仍未发生变化:
注射
身份验证(和会话管理)失效
安全配置错误
但这还不算太糟,对吧?这十个问题中只有四个仍然存在, 摩洛哥号码数据 所以剩下的六个显然是 2010 年至 2017 年期间解决的问题。不完全是。实际上,许多“已解决”的问题只是重命名或合并到组中,以便为其他问题腾出空间:
敏感数据泄露(2013 年)= 不安全的加密存储(2010 年)+ 传输层保护不足(2010 年)
缺少功能级别访问控制 (2013) = 未能限制 URL 访问 (2010)
访问控制失效(2017)=不安全的直接对象引用(2013)+缺少功能级访问控制(2013)