记一次安全漏洞处理过程CVE-2018-3252

简介: 记一次安全漏洞处理过程CVE-2018-3252

问题描述:

部署在用户的服务器,扫描系统服务的时候,发现服务器上有weblogic的CVE-2018-3252的漏洞。经过在公司反复验证和查找大量资料最后确认是端口的问题。weblogic默认是7001的端口,项目的端口默认是7001。然后扫描软件一般会有固定的验证方式确认是否存在该漏洞,比如3252的POC(观点证明),就是向7001发起一个固定地址的请求如果成功了就说明有漏洞。

解决过程:

因为这个扫描程序是第三方提供的,而且扫描的报告中并没有说明CVE-2018-3252是在服务器新项目中的多少行,所以排查问题的时候一开始都是再猜是哪里的问题。
1.因为扫描报告并没有什么有用的信息,除了知道漏洞的编号是多少,于是先去查找资料看是什么领域的漏洞,发现是weblogic的反序列化的漏洞,官方补丁链接
2.然后就想去官网上下载补丁去修复(实际上我们项目根本就没用到weblogic),oralce官网的补丁下载也是一个坑,必须有oracle的support identifier的账号才能下载,那么这个账号要怎么获取呢?简单明了的方法就是你要购买oralce的产品,付费才有这个账号(真的坑,用个开源的java,修复补丁还要收费的账号才能下载补丁)。于是想了一招去万能的淘宝上看看有没有这种账号可以租,搜索到淘宝可以有帮忙下载的补丁的服务,加了商家的微信问了一下,下载一次补丁要80RMB。
3.如果不是同事提醒我,可能我还真买了下载补丁的服务了。同事说咱们根本就没用weblogic的服务,为啥会有weblogic的漏洞,这句话把我点醒了,
于是就想是不是俺们项目中引用了weblogic的jar包之类导致的。找了一圈,实在是没找到weblogic服务的包,有几个带有weblogic名字的方法和类,但是应该不会导致CVE-2018-3252这种发序列化的漏洞。
4.后来又想到一个方法,就是既然有着漏洞出现的话那么我们用同样的服务器,代码应该在测试服务器上也会扫描出漏洞,所以就去网上找了下扫描weblogic的工具,在github上找到了一个python的脚本。因为代码是开源的所以看到了python脚本是怎么检测有没有CVE-2018-3252的漏洞。
在这里插入图片描述

这个POC(安防领域的专有名词,用来扫描漏洞的特定脚本,查看返回结果是否符合预期,符合的话就是由漏洞),是给服务器的7001端口发送带有账密信息的请求,如果返回的是401或者500就说明是有漏洞的,这里为啥401和500是确认是有漏洞的可能是因为401未验证,说明这个请求的路是通的,只是没有登录;而500说明这个路径的请求也是通的,只是可能参数错误或者内部处理异常。但是只有检测出401或者500,攻击者就可以用这个路径反复的尝试去攻击服务器。所以导致这个POC返回预期的结果是因为我们项目设置的端口恰好就是7001,而拦截器里面也设置了没有登录就会返回401,所以刚好两者条件都符合就被扫描出CVE-2018-3252的漏洞了,闹了个乌龙。

解决方式:

1.将后端项目中的config的application.yaml里面的端口从7001改为7003,保存退出重启后端。
2.将nginx中映射到后端服务器的配置中的7001改为7003,保存退出文件,重启nginx。

总结:

1.解决这次漏洞收获了很多新的知识,比如安全领域的一些名词POC,CVE等,和扫描漏洞的方式,还知道了oracle要修复补丁是要收费的等
2.发现原来扫描漏洞就是用一组特定的方式去试验返回结果,如果是符合预期的结果就是有漏洞。所以网上的安全工具可能也是这样去检索漏洞,但是实际上未必有漏洞,因为可能被检测的电脑就有各种奇奇怪怪的组合刚好让检测工具误以为是有漏洞。如果确定没有漏洞却扫描出奇怪的漏洞要具体问题具体分析,去看扫描漏洞的POC是怎么验证的。

参考资料:

1.安防领域名词解释
2.python3的weblogic漏洞检测脚本
3.oracle的weblogic升级补丁
4.公共漏洞库
5.国家信息安全库
6.CVE-2018-3252的POC

相关文章
|
5月前
|
监控 安全 测试技术
CVE-2022-37434漏洞如何处理
【6月更文挑战第18天】CVE-2022-37434漏洞如何处理
563 0
|
供应链 安全 IDE
Mercurius <11.5.0 存在拒绝服务漏洞(CVE-2023-22477)
Mercurius <11.5.0 存在拒绝服务漏洞(CVE-2023-22477)
Mercurius <11.5.0 存在拒绝服务漏洞(CVE-2023-22477)
|
供应链 安全 IDE
ToolJet 敏感信息泄露漏洞(CVE-2022-23067)
ToolJet 敏感信息泄露漏洞(CVE-2022-23067)
ToolJet 敏感信息泄露漏洞(CVE-2022-23067)
|
安全 Shell
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
773 0
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
|
数据采集 安全 前端开发
|
SQL 安全 前端开发
常见漏洞总结
常见漏洞总结
|
安全 Linux 网络安全
【网络安全】复现CVE-2019-14287漏洞
Sudo的全称是"superuserdo”,它是Linux系统管理指令,允许用户在不需要切换环境的前提下,以其它用户的权限运行应用程序或命令,通常是以root用户身份运行命令,以减少root用户的登录和管理时间,同时提高安全性,当在Linux操作系统上执行命令时,只有得到许可或者知道root密码,普通用户才可以使用sudo命令以root身份执行命令. 个人理解:(直白点讲就是,如果你入侵了他人的主机,可以利用该漏洞,进行权限升级,不用切换root,因为切换root的时候需要输入密码,用该漏洞可以跳过该步骤,获得权限)
211 0
【网络安全】复现CVE-2019-14287漏洞
|
编解码 安全 NoSQL
SSRE漏洞
服务器端请求伪造:是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。
SSRE漏洞
|
安全 Docker 容器
CVE-2018-15664漏洞分析报告
近日来自SUSE的安全专家Aleksa Sarai公布了编号为CVE-2018-15664的docker相关高危安全漏洞,该漏洞的CVSS评分为8.7,影响面涵盖所有docker发行版本,攻击者可利用该漏洞逃逸出容器读取或篡改host或其他任意容器内的文件,当前docker官方已经给出了临时方案以降低攻击面并将于下个release版本发布。
3096 0
|
Web App开发 安全
深入剖析最新IE0day漏洞
在2018年4月下旬,我们使用沙箱发现了IE0day漏洞;自从在野外发现上一个样本(CVE-2016-0189)已经有两年多了。从许多方面来看,这个特别的漏洞及其后续的开发比较有趣。下一篇文章将分析最新的漏洞背后的核心原因,CVE-2018-8174。
1396 0