记一次安全漏洞处理过程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月前
|
安全 关系型数据库 Linux
高危漏洞CVE-2024-38077的修复指南
根据2024年8月9日,国家信息安全漏洞共享平台(CNVD)收录了Windows远程桌面许可服务远程代码执行漏洞(CNVD-2024-34918,对应CVE-2024-38077)。未经身份认证的攻击者可利用漏洞远程执行代码,获取服务器控制权限。目前,该漏洞的部分技术原理和概念验证伪代码已公开,厂商已发布安全更新完成修复。CNVD建议受影响的单位和用户安全即刻升级到最新版本。
|
7月前
|
监控 安全 测试技术
CVE-2022-37434漏洞如何处理
【6月更文挑战第18天】CVE-2022-37434漏洞如何处理
774 0
|
Web App开发 SQL 安全
五种类型的渗透测试使潜在漏洞为零
一个渗透测试或笔测试是软件或硬件系统,寻求有意计划的攻击,以揭露可能违反系统的完整性,并最终损害用户的机密数据固有的安全漏洞。在这篇文章中,我们将讨论不同类型的渗透测试,以便您了解要覆盖的内容、估算工作量、高效执行。
167 1
|
缓存 安全 网络安全
心脏滴血漏洞复现(CVE-2014-0160)
心脏滴血漏洞复现(CVE-2014-0160)
382 0
|
JSON 供应链 安全
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
JsonWebToken远程代码执行漏洞(CVE-2022-23529)
|
安全 Linux
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
829 0
【紧急漏洞】Linux polkit本地权限提升漏洞(CVE-2021-4034)POC复现过程与修复方法
|
安全 Shell
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
800 0
【漏洞预警】CVE-2022-26134 Confluence 远程代码执行漏洞POC验证与修复过程
|
安全 Linux 网络安全
【网络安全】复现CVE-2019-14287漏洞
Sudo的全称是"superuserdo”,它是Linux系统管理指令,允许用户在不需要切换环境的前提下,以其它用户的权限运行应用程序或命令,通常是以root用户身份运行命令,以减少root用户的登录和管理时间,同时提高安全性,当在Linux操作系统上执行命令时,只有得到许可或者知道root密码,普通用户才可以使用sudo命令以root身份执行命令. 个人理解:(直白点讲就是,如果你入侵了他人的主机,可以利用该漏洞,进行权限升级,不用切换root,因为切换root的时候需要输入密码,用该漏洞可以跳过该步骤,获得权限)
226 0
【网络安全】复现CVE-2019-14287漏洞
|
安全 前端开发 关系型数据库
网站漏洞修复之逻辑漏洞修补的方法
在网站安全的日常安全检测当中,我们SINE安全公司发现网站的逻辑漏洞占比也是很高的,前段时间某酒店网站被爆出存在高危的逻辑漏洞,该漏洞导致酒店的几亿客户的信息遭泄露,包括手机号,姓名,地址都被泄露,后续带来的损失很大,最近几年用户信息泄露的事件时有发生,给很多企业,酒店都上了一堂生动的安全课。关于网站逻辑漏洞的总结,今天跟大家详细讲解一下。
538 0
网站漏洞修复之逻辑漏洞修补的方法
|
安全 前端开发 JavaScript
渗透测试 越权漏洞的检测与修复
渗透测试在网站,APP刚上线之前是一定要做的一项安全服务,提前检测网站,APP存在的漏洞以及安全隐患,避免在后期出现漏洞,给网站APP运营者带来重大经济损失,很多客户找到我们SINE安全公司做渗透测试服务的同时,我们积累了十多年的漏洞检测经验,对客户的网站各项功能以及APP进行全面的安全检测,下面我们就对渗透测试中的一些知识点跟大家科普一下:
712 0
渗透测试 越权漏洞的检测与修复