发布于12月5日12月5日 ## **前言** 在一次公开测试项目中,对某大型企业的某数字化平台系统进行了测试。前端功能很简单,只有一个登录页面,没有测试帐户。由于测试时间不多,所以时间长了也没有发现有价值的漏洞。测试结束,试了几个报错,发现是Spring Boot框架的问题。好像看到了曙光,后来成功拿下了RCE。通过分享这篇文章,希望能给大家带来一些想法和帮助~~ ## **开始** 访问http://xx.xx.xx.xx/,会打开某数字平台的登录页面。我尝试了登录框可能存在的各种漏洞,如弱密码、用户名枚举、通用密码登录、登录验证绕过、任意密码重置等,但没有结果 ## **Spring Boot 框架** 然后,我随机构建了目录aaa,看看会发生什么,发现是一个非常熟悉的404错误页面。这个页面的特点决定了Spring Boot框架的使用,所以我查看了一下Spring Boot是否有配置接口泄露的情况。如果幸运的话,我还可以执行RCE 。 尝试了几个目录,确定配置接口信息存在于/gateway/一级目录下。 http://xx.xx.xx.xx/网关/执行器/ http://xx.xx.xx.xx/网关/执行器/env 使用SpringBoot敏感目录扫描 扫描之后发现有很多接口信息。我对Spring Boot 漏洞了解不多。我第一时间能想到的有两个rce漏洞。一是Spring Boot Actuator jolokia和Spring Cloud Gateway应用配置不当导致的RCE漏洞。网关执行器暴露于外界。通过Spring Cloud Gateway远程代码执行漏洞(CVE-2022-22947)执行SpEL表达式,并且可以在远程主机上远程执行RCE。 现在我们有了想法,我们首先看看是否有/jolokia 或/actuator/jolokia 接口。如果扫描发现没有接口,则检查是否有/actuator/gateway/routes/ ## **Spring Cloud Gateway 远程代码执行漏洞(CVE-2022-22947)** 幸运的是,在Actuator端点上启用了Spring Cloud Gateway应用程序,并且可以获得路由信息,http://xx.xx.xx.xx/gateway/actuator/gateway/routes/ 接下来,构建POST请求包,并在/gateway/actuator/gateway/routes/ceshiRCE中添加包含恶意SpEL表达式的路由。这里我创建了ceshiRCE 路线。命令是ifconfig。您还可以在此处使用其他命令。请注意,Content-Type:application/json 应更改为json。发送包后,会返回201,表示添加成功。 再次刷新,http://xx.xx.xx.xx/gateway/actuator/gateway/routes/ceshiRCE,命令执行成功 ## **总结** 本次漏洞挖掘到此结束。我觉得还有一些地方可以进一步探讨。由于时间有限,我只能到这里了。但这并不重要。还是有收获的。但回想起来,如果自己更加细心,信息收集的范围更大一些,就会有更多的可能性。希望这个漏洞挖掘过程能给大家带来一些挖洞的思路。谢谢大家! ## **声明** 该漏洞已被修复。作者的初衷是分享和普及网络安全知识。读者如采取任何危害网络安全的行为,后果自负。转载自freebuf:[https://www.freebuf.com/articles/web/388523.html](https://www.freebuf.com/articles/web/388523.html)作者:AlbertJay
创建帐户或登录后发表意见