漏洞描述:
Skywalking历史上存在两次sql注入漏洞,CVE-2020-9483、CVE-2020-13921。经过源码分析,发现两次sql注入漏洞修复并不完善,仍存在一处sql注入漏洞。(该请求无页面入口,需要根据graphql配置文件手动进行请求构造,或许这就是官方遗漏该注入点的原因) Skywalking默认配置下使用的数据库为h2,且使用sa权限启动。于是我们可以先利用任意文件写入函数在classpath中写一个恶意类,然后再使用LINK_SCHEMA函数来加载这个恶意类,实现远程代码执行。