ASCIS 2023 经验分享

ASCIS 2023 经验分享

💡 原文约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。
  • 整个过程充满挑战,最终结果不尽如人意。

延伸问答

在Web 2挑战中发现了什么漏洞?

发现了RCE漏洞和SSTI漏洞。

如何利用commons-collections4库构造payload?

通过gadget chain构造payload,并进行gzip压缩和base64编码。

前端服务的SSRF漏洞是如何被利用的?

通过curl命令调用后端服务,利用urlparse和curl的解析差异绕过过滤机制。

后端服务使用了哪些技术栈?

后端服务使用Java 11和Spring Boot框架。

payload的大小限制是什么?

payload在gzip压缩后限制在2048字符以内。

文章中提到的最终结果是什么?

整个过程充满挑战,最终结果不尽如人意。

➡️

继续阅读