企业通用报表平台代码审计

news2024/11/14 1:15:26

1 第三方组件漏洞审计

本项目是基于Maven构建的。对于Maven项目,我们首先从 pom.xml 文件开始审计引入的第三方组件是

否存在漏洞版本,然后进一步验证该组件是否存在漏洞点。

本项目引入的组件以及组件版本整理如下。

组件名称 组件版本
SpringBoot 2.2.4.RELEASE
Fastjson 1.2.60
xxl-job-core 2.1.2
junit 4.12
commons-lang3 3.7
presto-jdbc 0.225
druid 1.1.17
mybatis 2.1.1

2 sql注入代码审计

2.1 代码审计

本项目使用了Mybatis,来定义SQL。我们主要查看Myabatis中 xxxMapper.xml 文件中是否存在使用$ 拼接SQL语句的情况。使用 $ 是直接拼接SQL语句的,未进行转义。

直接搜索${ 符号

可以发现在src/main/resources/mybatis-mapper/mysql/IgReportMapper.xml中,有一个未预处理的sql

之后往上追到dao层,com/lyl/igreport/dao/mysql/IgReportDao.java,可以发现queryMysql()方法

继续追到Service层,com/lyl/igreport/service/impl/CommonReportServiceImpl.java可以发现在36行通过@Autowired给mysqlDao自动注入,最后在(queryDataSourceData方法内)55行进行调用dao层中的queryMysql()方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2038858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CDP问卷填报手册指南

CDP认证的作用是向消费者和利益相关者提供一个可信的证明,证明该组织正在采取行动,以减少其对气候变化的影响并提高可持续发展。CDP认证是一个独立的评估过程,通过评估组织在应对气候变化和可持续发展方面的表现和策略,评估其对气…

免费下载专利

给大家提供一个可以免费下载专利的地方 链接:https://www.drugfuture.com/cnpat/cn_patent.asp

玩转生产环境全链路压测

一、什么是生产环境全链路压测 生产环境全链路压力测试(Production Environment Full-Link Stress Testing)是一种针对线上系统进行的综合性性能测试方法。这个过程涉及模拟实际用户行为,从用户界面到后端数据库的整个应用链路上施加预定的高…

考拉悠然完成自研国内首台玻璃基Micro LED晶圆量检测设备出货

近日,考拉悠然自主研发的国内首台玻璃基Micro LED晶圆量检测设备正式完成出货,这不仅标志着考拉悠然在Micro LED核心检测技术上的重大突破,也展现了公司在高端制造领域的技术创新能力。 Micro LED显示技术被认为是未来的“终极显示技术”&am…

stm32—GPIO

0. 引入 在单片机产品中,我们常常可以见到三种模块:LCD灯、KEY按键、BEEP蜂鸣器 LED灯: 一个比较常见的LED电路LED0 ---------- 通过控制LED0引脚(电线) 给它一个低电平(低电压),LED灯就会亮 给它一个高电平(高电压),LED灯就会灭 …

Spring——AOP前言(写一个小demo为了好学习AOP)

1.AOP的概念 1.1 AOP简单样例 我们来先通过一个例子来对AOP进行理解,这个例子就是有关Spring的事务的一个样例,有关Spring是怎么实现事务的,这个事务其实本质上就是对于我们代码的一个增强。废话不多说,上程序,请各位…

【Datawhale AI夏令营第四期】魔搭-AIGC方向 Task02笔记 Scepter工具箱, 精读BaseLine代码

【Datawhale AI夏令营第四期】魔搭-AIGC方向 Task02笔记 Task02学习任务: https://linklearner.com/activity/14/10/32 传送门 我们继续看网课,并且在Kimi.AI的帮助下读一下BaseLine示例代码。 网课链接:https://space.bilibili.com/1069874…

如何创建一个SpringBoot项目呢?SpringBoot有什么优点呢?

目录 一、SpringBoot的优点 二、SpringBoot项目的创建 (一)通过Idea创建 (二)通过网页来创建Spring Boot项目 三、SpringBoot的目录 拓展知识 Spring的诞生是为了简化Java代码的开发,而Spring Boot的诞生是为了简…

剪映怎么剪辑视频?2024年剪辑软件精选!

在短视频风靡的时代,越来越多的人开始尝试自己制作短视频。而剪辑视频是短视频制作过程中至关重要的一环。很多小伙伴问剪映怎么剪辑视频?其实除了剪映,市面上还有不少剪辑软件操作简便,值得推荐! 福昕视频剪辑 链接…

Dubbo源码深度解析(四)

接上篇博客《Dubbo源码深度解析(三)》,上篇博文,主要讲的是DubboBootstrap#start()方法中调用到的其他方法,以及讲到ServiceConfig#export()方法的调用链路。其中讲到最核心的方法为ServiceConfig#doExportUrlsFor1Protocol(),还没…

LVS详细解析及其NAT模式与DR模式部署(理论+实验全方位指导)

目录 1. 集群 2. 分布式系统 3. 集群与分布式的比较 4.通俗的解释 集群 分布式系统 总结 LVS(Linux Virtual Server)简介 LVS专业术语 工作原理 LVS调度算法 静态调度算法 动态调度算法 ipvsadm脑图 NAT模式集群 LVS的配置 在LVS主机内打开…

数据结构之顺序表的实现

主要参考: 【王道考研】王道数据结构与算法详细笔记(全)_王道数据结构笔记-CSDN博客 顺序表的概念 顺序表:用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系…

1Panel配置

1. 脚本安装 curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh2. 配置镜像加速 在容器-> 配置中设置,否则安装软件会失败。 https://docker.211678.top https://docker.1panel.live …

面对复杂订单统计,如何用这款工具化整为零?

最近制作报表时遇到了个问题,怎么把整合到一起的订单统计数据拆分成一个个单独的订单统计报表呢?经过一段时间的探索后,我找到了一款完全免费的报表软件,能够解决这个问题,这款软件叫作山海鲸可视化,我会在…

python 已知x+y=8 求x*y*(x-y)的最大值

先用导数求解 已知xy8 求xy(x-y)的最大值 令y8-x 则 f(x)x⋅(8−x)⋅(x−(8−x))x⋅(8−x)⋅(2x−8) 导数方程为 f(x)-3x^2 24x - 32 求方程 − 3 x 2 24 x − 32 0 -3x^2 24x - 32 0 −3x224x−320 的根。 首先,我们可以尝试对方程进行因式分解。观察…

Maven系列(一):Maven下载安装配置【Maven使Java构建事半功倍】

前言 ​ 作为Java开发工程师,那么Maven现已成为不可或缺的一部分,从最开始的依赖管理到编译运行及打包,可以说使伴随了Java项目的整个生命周期。那么这篇文章,将带你去认识Maven以及Maven的下载、安装、配置等等。 1. 什么是Mav…

RCE复现问题和研究

目录 先了解一些常见的知识点 PHP常见命令执行函数 call_user_func eval() call_user_func_array array_filter 实战演练(RCE)PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? 1、长度…

【智能控制】第九,十章 一阶和二阶系统神经网络控制,输出受限系统和输入受限系统的神经网络控制(北京航天航空大学)

目录 一阶系统神经网络控制 1. 系统描述 2. 滑模控制器设计(f(x)已知) 3. 自适应神经网络控制(f(x)未知) 4. 仿真结果 二阶系统神经网络控制 1. 系统描述 2. 神经网络控制器​编辑​编辑​编辑​编辑​编辑 3. 仿真结果 输出受限系统的神经网络控制 1. 问题描述 2.…

认识一下测试策略与测试方案

目录 测试方案 测试策略 测试策略的内容主要包括 测试技术和工具 测试启动、停止和完成标准 风险分析和应对方案 测试范围 测试角色和职责 测试方法和类型 测试工具 测试层级 测试指标 测试可交付成果 测试方案的内容包括 测试目标 测试范围 测试环境 测试策略…

Linux云计算 |【第二阶段】OPERATION-DAY2

主要内容: 部署LNMP架构(linux、Nginx、MariaDB、PHP)、NginxFastCGI动静分离、Nginx地址重写 环境准备:还原配置文件 [rootproxy ~]# cd /usr/local/nginx/ [rootproxy nginx]# sbin/nginx [rootproxy nginx]# cp conf/nginx.c…