freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

java安全 | Thymeleaf模板注入漏洞
Notadmin 2023-10-24 15:26:26 115828

前言

Thymeleaf模板是spring boot中经常使用的模板引擎,而Thymeleaf存在注入漏洞,这篇文件就一起来认识一下这个漏洞。

关于java安全的系列已经出了9篇,大家感兴趣可以去看一下,后续会继续出关于java安全方面的内容,如java内存马,Weblogic系列,spring框架系统漏洞等。

java安全基础-java反射

java安全基础-类加载机制

java安全基础-spring框架

java下exec命令执行问题

JNDI注入详解

JNDI注入高版本绕过方式

SPEL注入详解

java反序列化漏洞详解

java安全之fastjson反序列化详解

由于本人水平有限,文章中可能会出现一些错误,欢迎各位大佬指正,感激不尽。如果有什么好的想法也欢迎交流~~

Thymeleaf模版

先来了解一下Thymeleaf模版

Thymeleaf 是与 java 配合使用的一款服务端模板引擎,也是 spring 官方支持的一款服务端模板引擎。他支持 HTML 原型,在 HTML 标签中增加额外的属性来达到模板 + 数据的展示方式。默认前缀:/templates/ ,默认后缀:.html 。

特点

  • 使用模块引擎来编写动态页面,让开发人员无法在页面上编写 Java 代码,使得java代码和前端代码绝对的分离。
  • SpringBoot默认整合Thymeleaf,不需要任何配置直接整合成功,打jar包发布不需要做任何配置。
  • Thymeleaf相对于其他的模板引擎(如:Freemaker、velocity),有强大的工具支持。
  • 相对于Jsp页面,执行效率高。

Thymeleaf语法规则

在使用Thymeleaf时页面要引入名称空间: xmlns:th="http://www.thymeleaf.org"

1、th属性,常用th属性如下:

1)th:text:文本替换;

2)th:utext:支持html的文本替换。

3)th:value:属性赋值

4)th:each:遍历循环元素

5)th:if:判断条件,类似的还有th:unless,th:switch,th:case

6)th:insert:代码块引入,类似的还有th:replace,th:include,常用于公共代码块提取的场景

7)th:fragment:定义代码块,方便被th:insert引用

8)th:object:声明变量,一般和*{}一起配合使用,达到偷懒的效果。

9)th:attr:设置标签属性,多个属性可以用逗号分隔

2、标准表达式语法:

${...}变量表达式,Variable Expressions

@{...}链接表达式,Link URL Expressions

#{...}消息表达式,Message Expressions

~{...}代码块表达式,Fragment Expressions

*{...}选择变量表达式,Selection Variable Expressions

例子

<!DOCTYPE HTML>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<div th:fragment="header">
    <h3>Spring Boot Web Thymeleaf Example</h3>
</div>
<div th:fragment="main">
    <span th:text="'Hello, ' + ${message}"></span>
</div>
<a th:href="@{/webjars/bootstrap/4.0.0/css/bootstrap.css}">test</a>
</html>

Thymeleaf模板注入

可试读前30%内容
¥ 9.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Notadmin 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
java安全
相关推荐
Notadmin LV.6
微信公众号:信安路漫漫
  • 86 文章数
  • 153 关注者
微信小程序测试技巧总结
2025-03-13
验证机制常见的问题
2025-03-10
OAuth2.0原理及常见漏洞
2025-01-22
文章目录