OWASP(Open Web Application Security Project) Top 10 是指现在最常见的Web应用程序安全风险清单,该清单是OWASP组织的一份关于Web应用程序安全方面的指南。

OWASP Top 10 最新版本为 2017 年发布。其中包括的风险如下:

  1. 注入攻击 (Injection)

注入攻击是指攻击者通过恶意输入,将攻击代码插入到正常的执行流程中,从而实现对应用程序的控制。最常见的注入攻击是 SQL注入。攻击者通过向输入表格中插入特殊字符,攻击代码被注入到 SQL 语句中,从而实现对数据库的非法访问。

  1. 破解身份认证(Broken Authentication)

破解身份认证是指攻击者通过猜测或使用暴力破解等手段,获取合法用户的凭证,从而进入应用程序系统中,访问保护的数据和资源,或伪造用户身份,实现非法操作。

  1. 敏感数据泄露(Sensitive Data Exposure)

敏感数据泄露是指通过不恰当的数据处理方式使得应用程序中存储的敏感信息,如密码、信用卡信息等被攻击者获取。例如在用户登录时明文传输密码、在应用程序中存储敏感数据未加密等。

  1. 外部实体注入(XML External Entities (XXE))

外部实体注入是指攻击者将恶意的 XML 文档发送给 Web 应用程序,当应用程序解析该 XML
文档中的内容时,攻击者就能够利用其中的外部实体成分实现攻击,从而获取敏感数据或控制服务器。

  1. 请求伪造 (Broken Access Control)

请求伪造是指攻击者在应用程序中绕过指定的访问控制规则,实现越权访问或非法操作。例如通过修改 Cookie 信息或 URL
参数等,实现未授权的访问。

  1. 安全配置错误(Security Misconfiguration)

安全配置错误是指在 Web
应用程序、服务器、数据库等系统环境配置时出现问题。攻击者可以利用这些问题实现对应用程序或服务器的非法访问和控制。例如未正确配置防火墙、文件权限设置不当等。

  1. 跨站脚本攻击(Cross-Site Scripting (XSS))

跨站脚本攻击是指攻击者通过在 Web
页面中嵌入脚本,使用户在访问这个页面时,脚本被执行,攻击者就能够利用脚本实现攻击,如窃取用户信息、伪造会话信息等。

  1. 不安全的反序列化(Insecure Deserialization)

反序列化是指将序列化的数据从网络或磁盘中读出,并恢复为对象的过程。不安全的反序列化是指攻击者发送恶意序列化数据给应用程序,从而使应用程序在反序列化数据时,执行恶意代码,实现攻击。

  1. 使用无效或过时的组件(Using Components with Known Vulnerabilities)

使用已知漏洞百出的组件是非常危险的,攻击者可以利用这些漏洞实现攻击。因此,在开发和维护 Web
应用程序时,需要确保使用的组件是最新版本,且没有已知的漏洞。

  1. 不恰当的日志处理(Insufficient Logging & Monitoring)

日志处理不当是指在 Web 应用程序中缺少足够的安全监控和日志记录,攻击者可以利用这些漏洞实现