Jeecg-Boot 存在前台SQL注入漏洞【CVE-2023-1454】

Jeecg-Boot3.5.0SQL注入漏洞CVE-2023-1454详解

一、Jeecg-Boot 简介

eecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot引领新低代码开发模式 OnlineCoding-> 代码生成器-> 手工MERGE, 帮助Java项目解决70%的重复工作,让开发更多关注业务,既能快速提高效率,节省研发成本,同时又不失灵活性!一系列低代码能力:Online表单、Online报表、Online图表、表单设计、流程设计、报表设计、大屏设计 等等

二、漏洞描述

jeecg-boot 3.5.0版本存在SQL注入漏洞,该漏洞源于文件 jmreport/qurestSql 存在安全问题, 通过参数 apiSelectId 导致SQL注入。
CVE-2023-1454
CNNVD-202303-1399

三、影响版本

jeecg-boot 3.5.0版本

四、fofa查询语句

body=“jeecg-boot”

五、漏洞复现

漏洞数据包


                
Jeecg-Boot 是一个开源的快速开发平台,广泛用于企业级应用的开发。然而,该框架在多个版本中存在一些安全漏洞,这些漏洞可能被攻击者利用以获取敏感信息或执行恶意操作。 ### Jeecg-Boot 安全漏洞 #### 1. 不安全权限漏洞 Jeecg-Boot 2.4.5 及之前的版本中存在一个不安全权限漏洞。攻击者可以通过访问特定的 URI,如 `/sys/user/checkOnlyUser?username=admin`,来提升自身的权限并查看敏感信息。这种漏洞通常是由于权限验证机制不严格或存在逻辑错误导致的。 #### 2. SQL 注入漏洞 Jeecg-Boot 存在多个 SQL 注入漏洞。例如,`getTotalData` 接口存在 SQL 注入漏洞CVE-2024-48307)。攻击者可以通过构造恶意输入来执行任意 SQL 语句,从而获取数据库中的敏感信息或修改数据。此外,CVE-2023-1454 也描述了 Jeecg-Boot 中另一个 SQL 注入漏洞的复现情况,攻击者可以通过 `/jeecg-boot/jmreport/qurestSql` 接口执行恶意 SQL 查询。 #### 3. 目录遍历漏洞 Jeecg-Boot存在目录遍历漏洞。攻击者可以通过构造特定的请求来访问服务器上的任意文件,这可能导致敏感信息泄露或系统文件被篡改。 ### 漏洞利用方法 #### 1. 权限提升 攻击者可以通过构造特定的请求来绕过权限验证机制。例如,通过访问 `/sys/user/checkOnlyUser?username=admin`,攻击者可以尝试获取管理员权限,进而访问受限资源或执行高权限操作。 #### 2. SQL 注入攻击 攻击者可以通过构造恶意输入来利用 SQL 注入漏洞。例如,在 `getTotalData` 接口中,攻击者可以输入恶意字符串来修改 SQL 查询的逻辑,从而获取数据库中的敏感信息或执行任意 SQL 命令。 #### 3. 目录遍历攻击 攻击者可以通过构造包含特殊字符(如 `../`)的请求来访问服务器上的任意文件。例如,攻击者可以尝试访问 `/jeecg-boot/../../etc/passwd` 来获取系统的密码文件。 ### 缓解措施 为了缓解这些漏洞带来的风险,建议采取以下措施: - **更新版本**:将 Jeecg-Boot 更新到最新版本,确保所有已知漏洞都已修复。 - **输入验证**:对所有用户输入进行严格的验证和过滤,防止恶意输入导致的安全问题。 - **权限控制**:加强权限验证机制,确保只有授权用户才能访问敏感资源。 - **接口保护**:避免将敏感接口(如 `/jeecg-boot/jmreport/qurestSql`)对外暴露,设置 IP 白名单以限制访问来源。 ### 示例代码 以下是一个简单的示例,展示如何对用户输入进行基本的验证和过滤: ```python def sanitize_input(input_string): # 简单的输入过滤示例,防止 SQL 注入 sanitized = input_string.replace("'", "''").replace(";", "") return sanitized username = sanitize_input(input("Enter username: ")) query = f"SELECT * FROM users WHERE username = '{username}'" # 执行查询操作 ``` ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全攻防赵小龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值