记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

Skywalking远程代码执行漏洞预警

2021-02-07 11:48

01

时间轴

2021-01-23
蚂蚁安全非攻实验室 @fatansyC4t 向Apache官方报告了Apache Skywalking远程代码执行漏洞

2021-02-04
Apache Skywalking官方发布了补丁,修复了该漏洞。

2021-02-07
阿里云安全发布漏洞风险提示。

02

漏洞分析

Skywalking历史上存在两次sql注入漏洞,CVE-2020-9483、CVE-2020-13921。经过源码分析,发现两次sql注入漏洞修复并不完善,仍存在一处sql注入漏洞。(该请求无页面入口,需要根据graphql配置文件手动进行请求构造,或许这就是官方遗漏该注入点的原因)

Skywalking默认配置下使用的数据库为h2,且使用sa权限启动。 


 




通过查询官方文档得知,h2数据库存在写文件函数FILE_WRITE(需要admin权限执行),文件内容及文件名均可控。 


另一个LINK_SCHEMA函数可以指定并发起一次jdbc或者jndi请求,但由于目标环境中无tomcat和springboot依赖,所以在高版本jdk中也无法进行通用的jndi利用,需要在本地依赖中寻找reference链。 

进一步分析LINK_SCHEMA底层源码,发现代码中存在一处类加载过程,而这个类就是sql函数的第二个参数,用户可控。(这个参数用于指定本次使用的jdbc驱动类或者jndi context类) 


于是我们可以先利用任意文件写入函数在classpath中写一个恶意类,然后再使用LINK_SCHEMA函数来加载这个恶意类,实现远程代码执行。

03

漏洞证明

04

修复建议

1、升级Apache Skywalking 到最新的 v8.4.0 版本。

2、将默认h2数据库替换为其它支持的数据库。

05

安全产品


安全产品解决方案
云盾WAF
已可防护该类漏洞,并提供7天免费漏洞应急服务,为 您争取漏洞修复时间,应急开通地址:https://c.tb.cn/I3.XzCtR
阿里云云安全中心应急漏洞模块已支持对该漏洞一键检测
阿里云云防火墙 已可以防御此攻击

         



知识来源: https://mp.weixin.qq.com/s?__biz=MzI5MzY2MzM0Mw==&mid=2247485925&idx=1&sn=832464e9ab5c0272c1f8b9e714a35185

阅读:217594 | 评论:0 | 标签:漏洞 远程 执行

想收藏或者和大家分享这篇好文章→复制链接地址

“Skywalking远程代码执行漏洞预警”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

↓赞助商 🙇🧎

标签云 ☁