0x01 骚话
前段时间写了个EL表达式简单解析的程序,打算用来增强WAF,解决一些包含EL表达式的payload对WAF的绕过(利用字符串拼接、java语法trick等),刚看到Thymeleaf在3.0.12添加了Restricted mode用于限制一些静态方法和实例化的调用,好像跟我做的东西有一点点相似。所以,本着工匠精神,还是想研究了一下老外是怎么做的,所以打开了Thymeleaf的源码。
0x01 骚话
前段时间写了个EL表达式简单解析的程序,打算用来增强WAF,解决一些包含EL表达式的payload对WAF的绕过(利用字符串拼接、java语法trick等),刚看到Thymeleaf在3.0.12添加了Restricted mode用于限制一些静态方法和实例化的调用,好像跟我做的东西有一点点相似。所以,本着工匠精神,还是想研究了一下老外是怎么做的,所以打开了Thymeleaf的源码。
前段时间看到很多小伙伴研究若依这个系统的漏洞,让我想起若干年前在CNVD交的一个若依任意修改密码洞。
还有之前屯的若依后台Thymeleaf的RCE洞,所以把最新的若依代码拉了下来,用华佗扫了一下,发现漏洞貌似还存在。就是个简单的Thymeleaf ViewName注入RCE。
有很长一段时间没写文章了,也很久没搞Java相关的漏洞研究了,因为工作需要,忙碌了好一段时间的后端开发,都有点落下安全相关的研究了,实属堕落。
最近研究了一下多个业内使用的RASP实现,对于RASP又有了更加深入的了解,其中,RASP的类加载机制,我个人觉得应该是RASP中最核心的地方,也是最容易出BUG的地方了。对于这个RASP比较核心的类加载机制,我在这篇文章中,将会以OpenRASP为基础例子,去对其原理进行讲解,并给出与之不同的实现,分析出各自实现的优劣点。