2020年网络安全漏洞态势报告-Web应用漏洞
-
Web应用漏洞
2020年的“全面推进互联网+,打造数字经济新优势”背景下,数字化经济发展促进了基于互联网的数字化系统和创新应用程序的快速增长。同时由于网络攻击技术和目标类型的更新,数字化转型后业务安全面的挑战也日益严峻,其中Web应用程序漏洞仍然是网络攻击的主要入口。2020年新华三共收录Web应用漏洞6067个,较2019年同期(3837个)增长58.1%,对比2019年和2020年每月Web应用漏洞变化趋势如下图:
图5 2020与2019年Web应用新增漏洞趋势
2.1、漏洞分类
参照OWASP TOP10对 2020年Web应用漏洞进行分类统计,可以看出Web应用漏洞主要还是集中在跨站脚本、注入、无效的身份验证、敏感数据泄露四种类型,占据全部漏洞类型的80%。
图6 2020年Web应用漏洞类型占比
重点漏洞回顾
漏洞名称 | 发布时间 |
Oracle Weblogic远程代码执行漏洞(CVE-2020-2546、CVE-2020-2551) | 2020/1/15 |
Apache Tomcat文件包含漏洞(CVE-2020-1938) | 2020/2/21 |
Apache Dubbo反序列化漏洞安全风险通告(CVE-2019-17564) | 2020/2/24 |
Fastjson<=1.2.62远程代码执行漏洞 | 2020/2/24 |
FasterXML/Jackson-databind远程代码执行漏洞(CVE-2019-17564) | 2020/3/6 |
Sonatype Nexus Repository Manager远程代码执行漏洞(CVE-2020-10199) | 2020/4/7 |
SaltStack认证绕过导致命令执行(CVE-2020-11651、CVE-2020-11652) | 2020/5/6 |
Apache Tomcat Session反序列化RCE漏洞(CVE-2020-9484) | 2020/5/22 |
Fastjson远程代码执行漏洞 | 2020/5/29 |
WebSphere远程代码执行漏洞(CVE-2020-4450) | 2020/6/4 |
Apache Dubbo反序列化(CVE-2020-1948) | 2020/6/24 |
Apache Struts2远程代码执行(CVE-2019-0230) | 2020/8/14 |
Apache Shiro 身份验证绕过(CVE-2020-13933) | 2020/8/19 |
Jackson-databind远程代码执行漏洞(CVE-2020-24616) | 2020/8/28 |
phpStudy nginx解析漏洞 | 2020/9/4 |
Apache Solr ConfigSet文件上传漏洞公告(CVE-2020-13957) | 2020/10/13 |
Apache Kylin配置信息泄露(CVE-2020-13937) | 2020/10/22 |
Atlassian Jira用户名泄露(CVE-2020-14181) | 2020/10/23 |
ZenTaoPMS文件上传(CNVD-C-2020-121325) | 2020/10/28 |
Weblogic远程代码执行漏洞(CVE-2020-14882) | 2020/10/29 |
SaltStack多个高危(CVE-2020-16846、CVE-2020-17490、CVE-2020-25592) | 2020/11/5 |
Apache Unomi 远程代码执行漏洞(CVE-2020-13942) | 2020/11/20 |
Apache Struts2远程代码执行漏洞(CVE-2020-17530) | 2020/12/9 |
OpenSSL拒绝服务漏洞(CVE-2020-1971) | 2020/12/9 |
XStream任意文件删除/服务端请求伪造漏洞(CVE-2020-26259、CVE-2020-26258) | 2020/12/15 |
OpenTSDB远程代码执行漏洞(CVE-2020-35476) | 2020/12/18 |
FasterXML/Jackson-databind远程代码执行漏洞(CVE-2020-35728) | 2020/12/29 |
SolarWinds Orion API认证绕过漏洞(CVE-2020-10148) | 2020/12/30 |
经典漏洞盘点:
- CVE-2020-2551 Oracle Weblogic远程代码执行漏洞:
2020年1月15日,Oracle官方发布了2020年1月关键补丁更新,包含了家族多个产品的安全漏洞公告。其中Oracle Weblogic Server产品有高危漏洞,漏洞编号CVE-2020-2551,CVSS评分9.8分,漏洞利用难度低,可基于IIOP协议执行远程代码。该漏洞主要是因为Webloigc默认开放IIOP协议,并且未对JtaTransactionManager做黑名单过滤导致的,而JtaTransactionManager类存在jndi注入。
- Fastjson<=1.2.62远程代码执行漏洞
Fastjson是阿里巴巴的一款开源JSON解析库,它可以解析JSON格式的字符串,支持将JavaBean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean,由于具有执行效率高的特点,应用范围较为广泛。Fastjson在低于1.2.62的版本中使用了org.apache.xbean.propertyeditor.JndiConverter类,当服务端加载了受漏洞影响的xbean-reflect依赖并开启了Fastjson的autotype时,精心构造好的payload会进入到xbean-reflect依赖中并由指定的org.apache.xbean.propertyeditor.JndiConverter类处理,导致绕过Fastjson的黑名单。
- CVE-2020-9484 Apache Tomcat反序列化漏洞
Apache Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,是目前比较流行的Web 应用服务器。当部署tomcat时配置启用了session持久化功能FileStore,且同时存在任意文件上传漏洞,攻击者可以上传指定后缀(.session)的文件,利用可能存在的gadget反序列化,将能造成服务端远程代码执行。原因在于FileStore类读取文件时,使用了JSESSIONID的名称,没有过滤目录穿越符号,导致攻击者可以穿越到任意目录去读取后缀为.session的序列化数据进行反序列化。
- CVE-2020-4450 WebSphere IIOP远程代码执行漏洞
IBM WebSphere Application Server(WAS)是美国IBM公司的一款应用服务器产品。该产品是JavaEE和Web服务应用程序的平台,也是IBM WebSphere软件平台的基础。IBM WAS 9.0版本和8.5版本中存在安全漏洞,未经身份认证的远程攻击者可以通过IIOP协议远程攻击WAS服务器在目标端执行任意代码。WAS对于IIOP的数据由com.ibm.ws.Transaction.JTS.TxServerInterceptor#receive_request方法处理,在处理过程中, com.ibm.ws.Transaction.JTS.TxInterceptorHelper#demarshalContext被调用,进入反序列化的执行流,最终调用com.ibm.rmi.io.IIOPInputStream#invokeObjectReader通过反射调用readObject方法进行反序列化。
- CVE-2020-1948 Apache Dubbo反序列化漏洞
Apache Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,实现了高性能的RPC(远程过程调用)功能。Dubbo协议实现了一种远程方法调用的框架,在传参的过程中,会涉及到数据的序列化和反序列化操作。如果不做严格校验,在反序列化构建参数对象时,有可能会用到JNDI接口功能,而使服务端去加载远程的Class文件,通过在Class文件的构造函数或者静态代码块中插入恶意语句从而达到远程代码执行的攻击效果。
- CVE-2020-24616 Jackson-databind远程代码执行漏洞
Jackson是美国FasterXML公司的一款适用于Java的数据处理工具,jackson-databind是其中的一个具有数据绑定功能的组件。2020年8月27日,jackson-databind官方发布了jackson-databind反序列化漏洞的风险通告,漏洞编号为CVE-2020-24616。该漏洞是由于Jackson黑名单过滤不完整而导致,当项目包中存在下面几个类时可以进行JNDI注入。服务端在反序列化传入的恶意json数据时,会触发远程JNDI注入,将远程类加载到本地执行,最终实现远程代码执行。黑名单类如下:org.arrahtec:profiler-core,br.com.anteros:Anteros-DBCP ,com.nqadmin.rowset:jdbcrowsetimpl,com.pastdev.httpcomponents:configuration。
攻击态势分析
(1)漏洞组合利用Getshell效果的组合拳
2020年Weblogic仍然爆出多个高危漏洞,除了针对T3和IIOP协议的反序列化黑名单的绕过利用漏洞,Console组件的漏洞值得关注,由于Weblogic T3反序列化漏洞的频发很多用户面向互联网已经禁用了T3协议导致攻击者利用T3协议反序列化漏洞的难度增大,导致攻击者更多的投入到使用HTTP协议的Console组件漏洞利用当中。在2020年10月Weblogic补丁修复了Console组件命令执行的漏洞CVE-2020-14883,但是此Console组件漏洞的需要登录认证后才能利用,远程攻击者组合利用CVE-2020-14882漏洞可绕过Console组件中的身份验证最终执行命令接管Weblogic服务器。
在Web应用程序软件的安全迭代更新和用户的安全防护情况下,想要利用一个漏洞的直接获取服务器的控制权限将会变的越来越困难,那么针对Web应用程序的漏洞组合利用将会持续增多。
(2)功能性API认证缺陷带来的威胁
随着REST API的日益普及,REST已然成为最流行的提供外界服务API的方式,而且越来越多的应用程序对外开放API接口为提供功能调用,但是由于API接口的设计存在缺陷也可能会带来较大的安全隐患。2020 SolarWinds Orion API远程代码执行漏洞(CVE-2020-10148) 攻击者绕过认证访问功能性API导致远程代码执行,最终目标环境中部署 SUPERNOVA 恶意软件、Apache Solr文件上传漏洞(CVE-2020-13957)等漏洞的利用,表明功能性API未经身份验证或者认证被绕过带来的安全威胁不容忽视。
爱互联网的JAVABean: 基于时序的告警聚合,如何设置时间窗口的大小呢,同时保障告警的及时性呢
goyeer(工蚁): 文章写的太好了,逻辑清晰,内容详细,期待更新!
Holo_win: 这是我看过的最详细的有关quic的文章。
sinat_26607793: 期待后续更新
sinat_26607793: 有创意,好想法,挺先进的