OWASP 十大漏洞

2020/11/13 19:51
阅读数 1K

A1 注入 Injection

攻击者把一些包含攻击代码当做命令或者查询语句发送给解释器,这些恶意数据可以欺骗解释器,从而执行计划外的命令或者未授权访问数据。注入漏洞通常能SQL查询、LDAP查询、OS命令、程序参数等中出现。

防范:

1.使用安全的API,避免使用解释器或提供参数化的接口(prepared statements,or stored procedures)

2.使用白名单来规范化的输入验证方法

3.对输入的特殊字符进行Escape转义处理

4.权限最小化,减轻被注入的影响

A2 失效的身份认证和会话管理 

与认证和会话管理相关的应用程序功能往往得不到正确管理,这就导致攻击者破坏密码、密匙、会话令牌或利用实施漏洞冒充其他用户身份

 

A3 跨站脚本-XSS

A4 不安全的直接对象引用 Insecurity Direct Object Reference

当开发人员公开对内部实现对象(如文件、目录或数据库键)的引用时,就会出现直接对象引用。如果没有访问控制检查或其他保护,攻击者可以操纵这些引用来访问未经授权的数据。

防范:

1.使用基于用户或会话的间接对象访问, 防止攻击者直接攻击未授权资源.

2.访问检查:对任何来自不受信源所使用的所有直接对象引用都进行访问控制检测,确保用户对要求的对象有访问权限

A5 安全配置错误 Security Misconfiguration

良好的安全性需要为应用程序、框架、应用服务器、web服务器、数据库服务器和平台定义和部署安全配置。默认值通常是不安全的。另外,软件应该保持更新。攻击者通过访问默认账户、未使用的网页、未安装补丁的漏洞、未被保护的文件和目录等,以获得对系统未授权的访问

A6 敏感信息泄露 Sensitive Data Exposure 

保护与加密敏感数据已经成为网络应用的最重要的组成部分。最常见的漏洞是应该进行加密的数据没有进行加密。使用加密的情况下常见问题是不安全的密钥和使用弱算法加密

防范:

1.加密存储和传输所有的敏感数据

2.确保使用合适强大的标准算法和密钥,并且密钥管理到位

3.确保使用密码专用算法存储密码

4.及时清除没有必要存放的重要的/敏感数据

5.禁用自动收集敏感数据,禁用包含敏感数据的页面缓存

加密方法:采用非对称加密算法管理对称加密算法密钥,用对称加盟算法加密数据

A7 缺少功能级访问控制

大多数web应用程序在实现UI中可见的功能之前,都要验证功能级别的访问权限。但是,当访问每个函数时,应用程序需要在服务器上执行相同的访问控制检查。如果请求没有得到验证,攻击者将能够伪造请求,以便在没有适当授权的情况下访问功能。

防范:

1.检查管理权限的过程并确保能够容易进行升级和审计,切忌硬编码。

2.默认缺省情况下,应该拒绝所有访问的执行权限。

3.对于每个功能的访问,需要明确的角色授权。检查每个功能分配的权限合理有效。

A8 跨站请求伪造 CSRF

利用了网站允许攻击者预测特定操作的所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,导致攻击者能够创建恶意的web页面来伪造请求。这些伪造的请求很难和合法的请求区分开。CSRF通过伪装来自受信任用户的请求来利用受信任的网站。

1.给每个HTTP请求添加一个不可预测的令牌,并保证该令牌对每个用户会话来说是唯一性。最好是将独有的令牌包含在隐藏字段中,通过HTTP请求发送,避免在URL中暴露出来。

2.要求用户重新认证或者判断他们是一个真实的用户。

A9 使用含有已知漏洞的组件

开发人员使用的组件也会含有漏洞,这些漏洞能够被自动化工具发现和利用。然后攻击者根据需要定制攻击代码并实施攻击。

防范:

1.标识正在使用的所有组件和版本,包括所有依赖项

2.及时关注这些组件的安全信息并保证他们是最新的。

3.建立使用组件的安全策略,禁止使用未经安全评估的组件。

4.在适当情况下,对组件进行安全封装,精简不必要的功能,封装易受攻击部分

A10 未验证的重定向和转发

应用程序经常将用户重定向到其他网页,或以类似的方式进行内部转发。当目标网页是通过一个未验证的参数来指定时,就容易被攻击者利用。攻击者通过诱使受害人去点击未经验证的重定向链接,从而利用不安全的转发绕过安全检测。攻击者通过重定向可以试图安装恶意软件或者诱使受害人泄露密码等敏感信息,通过转发可以绕过访问控制。

防范:

1.避免使用重定向和转发

2.如果使用了重定向和转发,则不要在确定目标时涉及到用户参数。

3.如果无法避免使用目标参数,则应确保目标参数值对于当前用户是有效的并已授权。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部