1.80SF漏洞

Fastjson1.2.80及以下版本存在一个反序列化漏洞,该漏洞允许攻击者在特定条件下绕过默认的autoType关闭限制,从而反序列化有安全风险的类,这可能导致远程代码执行。以下是该漏洞的详细情况:

漏洞原理

Fastjson反序列化漏洞源于在处理JSON数据时对输入的验证不足。特别是,Fastjson在处理带有`@type`字段的JSON数据时没有进行适当的过滤,攻击者可以利用这一点构造一个恶意的JSON数据,将恶意类作为AutoType的值。当Fastjson反序列化时,会实例化指定的类,从而导致远程代码执行。

漏洞指纹特征

提交为POST请求,格式改为application/json。

测试是否返回fastjson字符串,也可能是无回显。

利用dnslog接收平台进行盲打验证。

漏洞利用方式

通过JNDI注入:攻击者可以使用JNDIInjectionExploit工具,通过rmi/ldap协议提供恶意Java类,并在http协议中架设这些类。通过JSON格式的请求,可以复现Fastjson的反序列化漏洞。

通过Throwable类:在1.2.80版本中,攻击者可以利用ThrowableDeserializer类,通过指定`@type`为`java.lang.Exception`,绕过AutoTypeSupport的判断,实现远程代码执行。

影响版本

该漏洞影响Fastjson1.2.80及以下版本,即<=1.2.80。

修复建议

开启safeMode:在Fastjson1.2.68及以后的版本中,可以通过开启safeMode来禁用autoType,从而防止反序列化Gadgets类变种攻击。safeMode可以通过在代码中配置或添加JVM启动参数来实现。

升级Fastjson版本:尽快升级到Fastjson的最新安全版本,以避免漏洞利用。

参考资料

CSDN博客qwe2

你知道吗?最近在互联网圈子里,有个叫做“Sentinel1.80CVE-2021-44139”的家伙引起了不小的轰动。这可不是什么好事情哦,它可是个漏洞,而且还是一个挺严重的漏洞呢!今天,我就要来给你好好唠唠这个“1.80漏洞”的故事,让你对它有个全面的认识。

一、揭秘“1.80漏洞”:究竟是个啥玩意儿?

首先,得给你科普Sentinel是个啥。它可是个面向分布式、多语言异构化服务架构的流量治理组件,听起来是不是很高大上?没错,它就是用来帮助开发者保障微服务的稳定性的神器。简单来说,它就像是个交通警察,负责管理着整个微服务世界的交通秩序。

这个“1.80漏洞”就出在了Sentinel的一个模块——sentinel-dashboard上。这个模块主要负责流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等任务。听起来是不是很厉害?但就是在这个厉害的地方,漏洞出现了。

这个漏洞的关键点在于,sentinel-dashboardmodule中存在着一个接口/registry/machine,它竟然无需授权就可以被访问!而且,当客户端接入时提交的注册数据,竟然没有任何权限校验就存储在内存中!这就意味着,恶意用户无需认证登陆,就可以发送恶意的应用注册数据,进而让sentinel-dashboard定时任务对其数据中ip指定的主机发起GET请求,进行SSRF攻击。

二、漏洞触发点:揭秘“1.80漏洞”的幕后黑手

那么,这个漏洞究竟是如何触发的呢?让我来给你揭秘一下。

首先,我们要关注一个方法——com.alibaba.csp.sentinel.dashboard.metric.MetricFetcherfetchOnce。这个方法会遍历注册AppInfo中每台机器MachineInfo的注册信息,构造对应的URL进行采集客户端限流熔断等数据。但是,这里有个问题:它的ip字段没有任何校验!

这就意味着,只要恶意用户提交一个恶意的ip地址,就可以截断后续的URL内容,进而控制管控平台sentinel-dashboard发起任意GET请求。而这一切,都是因为sentinel-dashboard在处理注册数据时,没有对ip字段进行严格的校验。

三、漏洞影响:揭秘“1.80漏洞”的危害

那么,这个“1.80漏洞”究竟有多严重呢?让我来给你算一笔账。

首先,恶意用户可以利用这个漏洞,发起SSRF攻击,从而获取到受攻击系统的敏感信息。其次,恶意用户还可以利用这个漏洞,控制受攻击系统的网络请求,进而对其他系统进行攻击。恶意用户还可以利用这个漏洞,对受攻击系统进行拒绝服务攻击,导致系统瘫痪。

这个“1.80漏洞”的危害不容小觑。它不仅会对受攻击系统的安全造成威胁,还会对整个微服务生态造成影响。

四、应对措施:揭秘如何防范“1.80漏洞”

既然知道了“1.80漏洞”的危害,那么我们该如何防范它呢?

首先,开发者需要及时更新Sentinel到最新版本,修复已知的漏洞。其次,开发者需要对sentinel-dashboardmodule中的接口/registry/machine进行严格的权限校验,防止恶意用户发起攻击。开发者还需要加强对微服务系统的安全防护,防止恶意用户利用其他漏洞进行攻击。

防范“1.80漏洞”需要我们从多个方面入手,才能确保微服务系统的安全稳定运行。

好了,关于“1.80漏洞”的故事就讲到这里。希望这篇文章能让你对这个漏洞有个全面的认识,也希望能帮助你提高对微服务系统安全的关注度。毕竟,安全无小事,让我们一起努力,为构建一个安全的互联网环境贡献自己的力量吧!

分类目录: 传奇精品站 | 标签: | 评论:0
上一篇: GM模型,究竟是个啥?
下一篇: 谁才是咸阳的“学霸”

发表留言:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。