MybatisPlus存在 sql 注入漏洞(CVE-2023-25330)解决办法

这篇具有很好参考价值的文章主要介绍了MybatisPlus存在 sql 注入漏洞(CVE-2023-25330)解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先我们了解下这个漏洞是什么?

MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。

MyBatis-Plus TenantPlugin 3.5.3.1及之前版本由于 TenantHandler#getTenantId 方法在构造 SQL 表达式时默认情况下未对 tenant(租户)的 ID 值进行过滤,当程序启用了 TenantPlugin 并且 tenant(租户)ID 可由外部用户控制时,攻击者可利用该漏洞进行 sql 注入,接管程序的数据库或向操作系统发送恶意命令。用户可通过对租户 ID 进行过滤缓解此漏洞。

影响版本 <3.5.1

解决办法

1.不启用tenantId

2.必须使用tenantId的话,加过滤器,对tenantId做处理

Test Version: 3.4.2

com.example.demo.config.MybatisPlusConfig 

mybatisplus sql注入,sql,安全,web安全

 文章来源地址https://www.toymoban.com/news/detail-733224.html

com.example.demo.common.TenantHolder 

mybatisplus sql注入,sql,安全,web安全

 

Interface for testing: /user?tid= will returns a specified tenant data record.

com.example.demo.controller.HelloController 

mybatisplus sql注入,sql,安全,web安全

 

db:

CREATE TABLE `users` (  
  `id` int(32) NOT NULL AUTO_INCREMENT,  
  `name` varchar(32) NOT NULL,  
  `tenant_id` varchar(64) NOT NULL,  
  PRIMARY KEY (`id`)  
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Test interface using blank parameters:

http://localhost:8080/user?tid= 

mybatisplus sql注入,sql,安全,web安全

 

Use ' or 1=1 and '123'='123 to perform sql injection and get all the data 

mybatisplus sql注入,sql,安全,web安全

 

到了这里,关于MybatisPlus存在 sql 注入漏洞(CVE-2023-25330)解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jeecg-Boot 未授权SQL注入漏洞(CVE-2023-1454)

    原创文章创作不易,个人博客charis3306.top  JDK: 1.8+ (小于11) Maven: 3.5+ MySql: 5.7+ Redis: 3.2 + Node Js: 10.0 + Npm: 5.6.0+ Yarn: 1.21.1+ 下载源码 后端源码 https://github.com/jeecgboot/jeecg-boot/tree/v3.5.0 前端源码 https://github.com/jeecgboot/jeecgboot-vue3 安装手册 http://doc.jeecg.com/2043871 下载完成后放在bc中。

    2024年02月05日
    浏览(47)
  • Goby漏洞更新 | jeecg-boot 未授权SQL注入漏洞(CVE-2023-1454)

    Goby预置了最具攻击效果的漏洞引擎,覆盖Weblogic,Tomcat等最严重漏洞。每天从互联网(如CVE)会产生大量的漏洞信息,我们筛选了会被用于真实攻击的漏洞进行每日更新。Goby也提供了可以自定义的漏洞检查框架,发动了互联网的大量安全从业者贡献POC,保证持续的应急响应能

    2023年04月19日
    浏览(69)
  • SQL注入(1)--判断是否存在SQL注入漏洞

    不论是学习后端开发/数据库/网络安全,SQL注入安全隐患反复被提起 到底什么是SQL? 维基百科的定义: (1)什么是SQL? SQL是用来操控数据库的语言 (2)举一个例子,现在我们要查询电影“长津湖”的票房数据: 先想象一下开发人员是如何书写代码从数据库中拿到数据的:

    2024年02月05日
    浏览(48)
  • 漏洞复现 || SolarView Compact 存在任意命令执行漏洞(CVE-2023-23333)

    技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均

    2024年02月15日
    浏览(41)
  • GeoServer 存在 sql 注入漏洞

    GeoServer 是一个允许用户共享和编辑地理空间数据的开源软件服务器,支持 OGC Filter expression 和 OGC Common Query Language 语言,使用 PostGIS Datastore 作为数据库。PostGIS是PostgreSQL数据库的扩展程序,增加了数据库对地理对象的支持。 GeoServer 的受影响版本的 PropertyIsLike、FeatureId、DWit

    2024年02月09日
    浏览(43)
  • budibase <2.4.3 存在 ssrf 漏洞(CVE-2023-29010)

    budibase 是一个开源的低代码平台,元数据端点(metadata endpoint)是Budibase提供的一个REST API端点,用于访问应用程序的元数据信息。 budibase 2.4.3之前版本中存在 ssrf 漏洞,该漏洞可能影响 Budibase 自主托管的用户,不影响 Budibase 云的用户。攻击者可利用该漏洞从 Budibase REST 连接到内

    2023年04月20日
    浏览(33)
  • Django SQL注入漏洞复现 (CVE-2022-28347)

    ​ 在Django 2.2 的 2.2.28 之前版本、3.2 的 3.2.13 之前版本和 4.0 的 4.0.4 之前版本中的 QuerySet.deexplain() 中发现了SQL注入问题。这是通过传递一个精心编制的字典(带有字典扩展)作为**options参数来实现的,并将注入负载放置在选项名称中。 2.2 = Django 2.2.28 3.2 = Django 3.2.13 4.0 = Djan

    2024年02月05日
    浏览(88)
  • CVE-2023-25194漏洞 Apache Kafka Connect JNDI注入漏洞

    Apache Kafka 的最新更新解决的一个漏洞是一个不安全的 Java 反序列化问题,可以利用该漏洞通过身份验证远程执行代码。 Apache Kafka 是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型应用程序。超过 80% 的财富 100 强公司信任并使

    2024年02月12日
    浏览(36)
  • CVE-2020-9483 apache skywalking SQL注入漏洞

    漏洞概述 当使用H2 / MySQL / TiDB作为Apache SkyWalking存储时,通过GraphQL协议查询元数据时,存在SQL注入漏洞,该漏洞允许访问未指定的数据。 Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参数。 环境搭建 拉取vulhub 搭建镜像 访问8080端口 漏洞复现

    2024年02月07日
    浏览(46)
  • Django SQL注入漏洞分析(CVE-2022-28346)

    Django 在2022年发布的安全更新,修复了在 QuerySet 的 annotate(), aggregate(), extra() 等函数中存在的 SQL 注入漏洞。 2.2= Django Django 2.2.28 3.2= Django Django 3.2.13 4.0= Django Django 4.0.4 需要使用了 annotate 或者 aggregate 或 extra 方法 利用 pycharm 创建一个 python 项目 ​ 创建完成项目后在 Setti

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包