💡
原文约1000字/词,阅读约需4分钟。
📝
内容提要
本文分享了在Web 2挑战中的经验,分析Java后端服务源代码,发现RCE漏洞。利用commons-collections4库的gadget chain构造payload,并通过前端服务的SSRF漏洞成功获取flag。此外,Thymeleaf库的SSTI漏洞也可导致RCE。整个过程充满挑战,结果不尽如人意。
🎯
关键要点
-
文章分享了在Web 2挑战中的经验,分析Java后端服务源代码,发现RCE漏洞。
-
利用commons-collections4库的gadget chain构造payload,通过前端服务的SSRF漏洞成功获取flag。
-
后端服务使用Java 11和Spring Boot框架,存在反序列化漏洞。
-
payload需要经过gzip压缩和base64编码,且限制在2048字符以内。
-
通过设置定时器,后端服务可以定期读取flag并发送。
-
前端服务存在SSRF漏洞,可以通过curl命令调用后端服务。
-
通过urlparse和curl的解析差异,成功绕过了过滤机制。
-
后端服务也存在Thymeleaf库的SSTI漏洞,可以导致RCE。
-
整个过程充满挑战,最终结果不尽如人意。
➡️