关于WebLogic安全性探讨 – 作者:TideSec

1       什么是WebLogic

WebLogic是美国bea公司出品的一个webserver,如同我们使用的IIS,APACHE,确且的说是一个基于j2ee架构的中间件,webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯Java开发的。目前WebLogic在世界webserver市场上占有最大的份额,其他还有像IBM的websphere,免费的tomcat、resin等webserver软件。

WebLogic对于整日游走于安全行业的人来说并不陌生,网站拥有者可利用WebLogic搭建web服务,可充分利用其扩展性、部署灵活、支持多种标准等优势来;所谓没有绝对的安全,所以作为成熟的产品WebLogic每年也会出现各种命令执行、反序列等通用漏洞,而做为攻击者就可充分利用这些漏洞去攻击系统危害用户利益。

WebLogic在世界排名前10的国家如下:

图片.png

通过初步统计,WebLogic在国内的应用范围比较广,支撑着很多企业的核心业务,尤其是在金融、电力、政府等行业,其中还有很多内网应用系统。

国内中间件利用情况统计图如下:

图片.png

2       WebLogic漏洞分析

随着近几年互联网的安全日益重视,WebLogic也被曝出大量漏洞,通过查看cve相关资料,最早的WebLogic漏洞是CVE-2000-0499,存在于是WebLogic3.1.8到4.5.1之间的版本,远程攻击者可通过该漏洞来查看jsp程序的源码,通过cve官方统计从2000年至今WebLogic已经被爆出268个漏洞。

WebLogic被曝出多个反序列化漏洞,Oracle官方相继发布了一系列反序列化漏洞补丁。但是近期,WebLogic又被曝出之前的反序列化漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过并成功执行远程命令攻击的情况。

序列化指的是把对象转换成字节流,便于保存在内存、文件、数据库中;而反序列化则是其逆过程,由字节流还原成对象。Java中ObjectOutputStream类的writeObject()方法可以实现序列化,ObjectInputStream类的readObject()方法用于反序列化。

java类ObjectInputStream在执行反序列化时,并不会对自身的输入进行检查,这就说明恶意攻击者可能也可以构建特定的输入,在ObjectInputStream类反序列化之后会产生非正常结果,利用这一方法就可以实现远程执行任意代码。

WebLogic采用黑名单的方式过滤危险的反序列化类,所以只要找到不在黑名单范围内的反序列化类就可以绕过过滤,执行系统命令。这次的漏洞就是利用了这一点,通过 JRMP(Java Remote Messaging Protocol ,是特定于 Java 技术的、用于查找和引用远程对象的协议)协议达到执行任意反序列化内容。

恶意攻击者可利用反序列话漏洞,通过构造恶意请求报文远程执行命令,如查看服务器上相关敏感文件、进行木马的远程上传等,致使用户敏感文件泄露,服务器遭受攻击等,存在反序列化漏洞的站点如下:

除了反序列化漏洞,WebLogic还有存在ssrf、弱口令、xss等安全漏洞,SetupUDDIExploer.jsp就存在ssrf和xss漏洞,xss利用代码如下:

Ssrf漏洞代码如下

通过提交如下url:

http://10.158.244.198:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://10.158.242.100:8080&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search,即可出发ssrf漏洞

 

3       WebLogic漏洞统计

对WebLogic爆发的通用型漏洞统计如下:   

cve名称 影响版本 漏洞危害
CVE-2017-10178 10.3.6.0,12.1.3.0, 12.2.1.1 ,12.2.1.2. Unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server
CVE-2017-10148 10.3.6.0, 12.1.3.0, 12.2.1.1 and 12.2.1.2 allows unauthenticated attacker with network access via T3 to compromise Oracle WebLogic Server
CVE-2017-10147 10.3.6.0, 12.1.3.0, 12.2.1.1 and 12.2.1.2 allows unauthenticated attacker with network access via T3 to compromise Oracle WebLogic Server
CVE-2017-10137 10.3.6.0 and 12.1.3.0 allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server
CVE-2017-10123 12.1.3.0 allows low privileged attacker with network access via HTTP to compromise Oracle WebLogic Server.
CVE-2017-10063 10.3.6.0, 12.1.3.0, 12.2.1.1 and 12.2.1.2 allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Serve
CVE-2017-3531 12.1.3.0, 12.2.1.0, 12.2.1.1 and 12.2.1.2 allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server
CVE-2017-3506 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 and 12.2.1.2 allows unauthenticated attacker with network access via HTTP to compromise Oracle WebLogic Server
CVE-2017-3248 10.3.6.0, 12.1.3.0, 12.2.1.0 and 12.2.1.1 allows unauthenticated attacker with network access via T3 to compromise Oracle WebLogic Server.

4       如何防范WebLogic漏洞

由于WebLogic承载着系统应用的发布,所以其重要性也是不可估量,那么我们该怎么去面对WebLogic的漏洞,来保障系统的安全,可采用如下措施:

Ø  经常关注weblogi的安全情况,对其爆发的最新漏洞进行及时升级或打补丁;

Ø  尽量关闭WebLogic在公网上的开放,仅限于在内网进行维护、管理;

Ø  修改WebLogic的默认端口7001以及后台的默认访问路径;

Ø  定期对服务器进行巡检,查看是否有文件被恶意修改;

Ø  部署waf等安全措施,可以在一定程度上减轻该漏洞的危害;

Ø  如果业务不需要UDDI功能,就关闭这个功能可以删除uddiexporer文件夹;

 

 

关注我们

对web安全有兴趣的小伙伴可以关注或加入我们,TideSec安全团队:

1551433162_5c78fdca9fae9.jpg

来源:freebuf.com 2019-04-03 08:59:42 by: TideSec

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论