Seikei's Blog

Spring Thymeleaf模版注入

Thymeleaf介绍

Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:

  1. Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

  2. Thymeleaf 开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、改jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

  3. Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

Read More...

SpringBlade中“隐藏”的SQL注入

介绍

某人在SpringBlade中提了一个issue说明项目存在SQL注入漏洞

这个项目在我之前分析网关的未授权访问时就看了一遍SQL语句,在*mapper.xml中看了一圈并没有发现注入点,但是看到有人提出了SQL注入于是决定深入探查一下该SQL注入原因。

如果你看到这篇文章,可以自己尝试阅读代码,看能否找到注入点。如果能自己独立找到,那么这篇文章也就不必往下看了。

Read More...

CVE-2020-5902 F5 BIG-IP TMUI 远程代码执行漏洞

2020年7月1日,F5官方发布了流量管理用户界面(TMUI)远程代码漏洞(CVE-2020-5902)安全通告,未经认证的攻击者,在可以访问TMUI界面的情况下,可对目标实现远程代码执行。

受影响版本:

BIG-IP 15.1.0, 15.0.0, 14.1.0-14.1.2, 13.1.0-13.1.3, 12.1.0-12.1.5, 11.6.1-11.6.5

Read More...

CVE-2019-3799 Spring Cloud Config目录遍历漏洞

官方描述:https://spring.io/blog/2019/04/17/cve-2019-3799-spring-cloud-config-2-1-2-2-0-4-1-4-6-released

We have released Spring Cloud Config 2.1.2, 2.0.4, and 1.4.6 to address CVE-2019-3799: Directory Traversal with spring-cloud-config-server. Please review the information in the CVE report and upgrade immediately.

release中找到修复前的版本2.1.1代码 https://github.com/spring-cloud/spring-cloud-config/releases/tag/v2.1.1.RELEASE 用于复现

Read More...

Spring ModelAndView 注入

1. 介绍

在代码审计时发现以下功能点,Checkmarx显示存在Spring ModelView Injection,是由ModelAndView中的参数可被用户控制导致。这个漏洞的历史还是比较久的,但之前没有碰到过,于是就自己搭建环境调试一番,动手学习一下利用方法。

Read More...

前端框架中XSS的代码表现形式

随着前端技术的发展,越来越多的框架默认对XSS做了有效的防范,遵循secure by default原则。

如果不了解前端框架本身的安全特性,就会导致代码审计过程中对XSS的审计不严密。

本文是从代码审计的视角去看不同前端框架中可能导致XSS的代码写法。

Read More...

Java SpringBoot框架代码审计六 - CSRF

CSRF真正和代码相关的内容不太多,主要还是看过滤器和拦截器。代码审计中的思路是检查是否校验Referer、是否给cookie设置SameSite属性和敏感操作是否会生成CSRF token,如果都不存在再查看请求参数中是否存在不可被攻击者猜测的字段,比如验证码等参数。

Read More...

Java SpringBoot框架代码审计四 - XSS

XSS我们都知道是由于字符不过滤或过滤不完善导致的,也都知道修复方法。但是在程序中哪个位置进行字符过滤,是很多渗透测试人员不了解的。不了解字符过滤在程序中的所处的位置,是不能在代码审计中找到XSS的。

Read More...