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

devtools/2024/9/24 17:08:57/

1 第三方组件漏洞审计

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

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

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

组件名称组件版本
SpringBoot2.2.4.RELEASE
Fastjson1.2.60
xxl-job-core2.1.2
junit4.12
commons-lang33.7
presto-jdbc0.225
druid1.1.17
mybatis2.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.ppmy.cn/devtools/94566.html

相关文章

微服务熔断与降级

服务熔断: 熔断是在服务端进行配置。 一般是某个服务故障,或者异常引起的,类似现实世界中的保险丝,当某个异常条件被触发,直接熔断整个服务,而不是一直等到此服务超时。 服务降级: 降级是在客…

VGMShield:揭秘视频生成模型滥用的检测与追踪技术

人工智能咨询培训老师叶梓 转载标明出处 视频生成模型,如 Stable Video Diffusion 和 Videocrafter,已经能够生成合理且高分辨率的视频。但这些技术进步也带来了被恶意利用的风险,比如用于制造假新闻或进行政治宣传。因此,来自弗…

【数据结构详解】——计数排序(动图详解)

目录 🕒 1. 计数排序 🕒 1. 计数排序 💡 算法思想:计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用,操作步骤: 统计相同元素出现次数根据统计的结果将序列回收到原来的序列中 void Coun…

Qt 小功能:加载等待动画——转圈圈

加载等待动画实现——转圈圈 效果图:(看封面最好) 关键要点 流畅的动画: 使用 QTimer 每 50 毫秒更新一次动画,确保动画流畅。 视觉效果: 使用 QPainter 的平滑像素转换和抗锯齿选项,提高动画…

高级网络渗透测试技术(第一篇)

一、概述 网络渗透测试(Penetration Testing, Pen Test)是通过模拟恶意攻击者的行为来评估计算机系统、网络或Web应用的安全性。高级网络渗透测试技术则涵盖了更复杂和深入的测试方法,能够更有效地发现并利用系统中的潜在漏洞。 二、前期准…

iframe 通信的三种方式(重点介绍postMessage)

概述:在网页开发中,iframe 是一种常用于嵌入另一个 HTML 文档到当前文档中的元素。由于安全原因,iframe 中的文档默认与父文档隔离,但有时候我们需要在 iframe 和其父页面(或不同 iframe 之间)进行通信。有…

探索Intel Agilex系列FPGA:创新驱动的高性能计算解决方案

1. 引言 在这个数字化时代,高性能计算已经成为许多领域的关键需求。从科学研究到人工智能,从数据中心到通信领域,提供强大的计算和数据处理能力是推动创新和技术进步的关键。在这样的背景下,Intel推出了Agilex系列FPGA&a…

spring boot入门案例

一、案例需求 请求Controller中的方法,并将返回值响应到页面 二、代码实现 1.依赖管理——pom.xml文件 (1)引入 (2)引入依赖集合 (3)引入插件:为了方便运行,将project…