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。

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

🔎

延伸解读

RCE漏洞的利用

文章中提到的RCE漏洞主要通过commons-collections4库的gadget chain实现。这种漏洞利用方式在Java后端服务中较为常见,开发者应关注反序列化操作的安全性,避免使用不安全的库版本。

SSRF漏洞的绕过

通过对前端服务的SSRF漏洞进行分析,文章展示了如何利用urlparse和curl的解析差异成功绕过过滤机制。这提醒开发者在实现URL过滤时,需考虑不同解析方式的潜在风险,确保安全性。

Thymeleaf的SSTI漏洞

文章最后提到的Thymeleaf库的SSTI漏洞同样值得注意。开发者在使用模板引擎时,应仔细审查输入内容的处理方式,以防止恶意代码的执行,确保应用的安全性。

延伸问答

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

发现了RCE漏洞和SSTI漏洞。

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

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

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

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

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

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

payload的大小限制是什么?

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

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

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

🏷️

标签

➡️

继续阅读