OWASP top 10 --2017 原理和防御

更新中...

A12017-Injection(注入漏洞)

当不可信的数据作为命令或查询语句的一部分被发送给解释器的时候,会发生注入漏洞,包括SQL、NoSQL、OS以及LDAP注入等。攻击者发送的恶意数据可能会诱使解释器执行计划外的命令,或在没有适当授权的情况下访问数据。

防御:

1)使用安全的API,避免使用解释器 ESAPI.encoder().encodeForSQL(codec, name)

2)对输入的特殊字符进行escape转义处理 & _ ‘ addslashes(PHP)后端工作

3)用白名单来规范化处理

4)使用reparedStatement预处理PreparedStatement不允许在插入参数时改变SQL语句的逻辑结构。

5)权限最小化,减轻被注入的影响


A22017-BrokenAuthentication(中断身份认证)

与认证和会话管理相关的应用函数经常被错误地实现,从而允许攻击者破坏密码、密钥或是会话令牌,或者利用其他的应用漏洞来暂时或永久地获取用户身份信息。


A32017-Sensitive DataExposure(敏感数据泄露)

许多web应用程序和API不能正确的保护敏感数据,如金融、医疗保健和PII(个人身份信息)等。攻击者可能会窃取或篡改这些弱保护的数据,从而进行信用卡欺诈、身份盗窃或其他犯罪行为。在缺少额外保护(例如,在存放和传输过程中加密,且在与浏览器进行交换时需要特别谨慎)的情况下,敏感数据可能会受到损害。


A42017-XML ExternalEntitiesXXEXML外部处理器漏洞

防护:使用开发语言提供的禁用外部实体的方法

许多过时的或配置不当的XML处理器在XML文档内进行外部实体引用。外部实体可用于泄露内部文件,通过使用文件URI处理器、内部文件共享、内部端口扫描、远程代码执行以及拒绝服务攻击等手段。


A52017-Broken AccessControl(中断访问控制)

限制“认证的用户可以实现哪些操作”的命令没有得到正确的执行。攻击者可以利用这些漏洞访问未经授权的功能和数据,例如访问其他用户的账户,查看敏感文件,篡改其他用户的数据,更改访问权限等。


A62017-SecurityMisconfiguration(安全配置错误)

安全配置错误是最常见的问题。这通常是由不安全的默认配置,不完整或ad hoc配置,开放云存储,错误配置的HTTP标头,以及包含敏感信息的详细错误信息造成的。所有的操作系统、框架、库、应用程序都需要进行安全配置外,还必须要及时进行系统更新和升级。


A72017-Cross-SiteScriptingXSS)跨站脚本攻击

如果应用程序在未经适当验证或转义的情况下,能够在新网页中包含不受信任的数据,或是使用可以创建HTML或者JavaScript的浏览器API更新包含用户提供的数据的现有网页,就会出现XSS漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话、破坏网站或将用户重定向到恶意网站中。

防御:

1)httponly,可以保护cookie;(富文本XSS无效);

2)对所有不可信的输入数据进行恰当的转义escape (http,cookie,等位置); 

3)使用白名单的具有恰当的规范化解码功能的输入验证方法;

4)对于富文本使用Ueditor安全编辑器等,(ESAPI安全函数处理),或者自定义DOM树,白名单标签过滤;

5)使用浏览器CSP(内容安全策略);

6)Web sever引擎模版对输入输出编码,宏定义;


A82017-InsecureDeserialization(不安全的反序列化)

不安全的反序列化漏洞通常会导致远程代码执行问题。即使反序列化错误不会导致远程代码执行,也可以被用来执行攻击,包括重放攻击、注入攻击以及权限提升攻击等。


A92017-UsingComponents with Known Vulnerabilities(使用含有已知漏洞的组件)

组件(如库、框架和其他软件模块)是以与应用程序相同的权限运行的。如果存在漏洞的组件被利用,这种攻击可能会导致严重的数据丢失或服务器接管危机。使用已知漏洞组件的应用程序和API可能会破坏应用程序的防御系统,从而启动各种形式的攻击,造成更为严重的影响。


A102017-InsufficientLogging & Monitoring(不足的记录和监控漏洞)

不足的记录和监控漏洞,再加上事件响应能力欠缺以及缺少有效的整合,使得攻击者可以进一步攻击系统,维持其持久性,转而攻击更多的系统,并篡改、提取或销毁数据。大部分的数据泄露研究显示,检测出发生数据泄漏的时间通常需要超过200天,而且通常是外部机构率先发现数据泄漏的事实,而不是通过内部的审计流程或监控发现的。

你可能感兴趣的:(OWASP top 10 --2017 原理和防御)