模板注入之Freemaker

模板注入之Freemaker

简介

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

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

这种方式被称为 MVC (模型 视图 控制器) 模式,对于动态网页来说,是一种特别流行的模式。 它帮助从开发人员(Java 程序员)中分离出网页设计师(HTML设计师)。设计师无需面对模板中的复杂逻辑, 在没有程序员来修改或重新编译代码时,也可以修改页面的样式。

而FreeMarker最初的设计,是被用来在MVC模式的Web开发框架中生成HTML页面的,它没有被绑定到 Servlet或HTML或任意Web相关的东西上。它也可以用于非Web应用环境中。

FreeMarker 是 免费的, 基于Apache许可证2.0版本发布。

基本语法

环境搭建

FusionAuth存在Freemaker模板注入,涉及版本FusionAuth <= 1.11.0。

FusionAuth是一个免费的身份管理平台,安装简单,易于集成。FusionAuth提供登录、注册、MFA、SSO、电子邮件模板、本地化、密码控制、强哈希、网络挂钩、基于角色的访问控制等功能。

下载命令

1
wget https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth /1.10.0/fusionauth-app-1.10.0.zip

下载elasticsearch插件

1
wget https://storage.googleapis.com/inversoft_products_j098230498/products/fusionauth /1.10.0/fusionauth-search-1.10.0.zip

进入bin目录,执行startup.sh脚本开始安装

1
./startup.sh

进入bin目录,执行startup.sh脚本开始安装

1
./startup.sh

然后浏览器访问9011端口,配置数据库和ElasticSearch连接

参考链接

(60条消息) FusionAuthRCE(CVE-2020-7799)复现_锋刃科技的博客-CSDN博客_fusionauth

[(60条消息) CVE-2020-7799] Apache FreeMarker模板FusionAuth远程代码执行_公众号shadow sock7-CSDN博客

springmvc: 学习SpringMVC代码 (gitee.com)

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2024 John Doe
  • 访问人数: | 浏览次数:

让我给大家分享喜悦吧!

微信