前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xcheck Java引擎漏洞挖掘&防护识别

Xcheck Java引擎漏洞挖掘&防护识别

原创
作者头像
腾讯代码安全检查Xcheck
修改2021-07-01 19:37:16
1.5K0
修改2021-07-01 19:37:16
举报

0x00 漏洞挖掘

新增两个CNVD

近期,使用了Xcheck Java引擎对一些开源网站系统进行检查,最终发现了若依管理系统和MCMS系统两个安全漏洞。

若依管理系统(https://gitee.com/y_project/RuoYi)
若依管理系统(https://gitee.com/y_project/RuoYi)
MCMS(https://gitee.com/mingSoft/MCMS)
MCMS(https://gitee.com/mingSoft/MCMS)

漏洞挖掘过程

Xcheck检查 使用Xcheck挖掘漏洞十分简单,下载项目源码之后,上传至Xcheck进行检查,喝口水的功夫,就出结果了。

xcheck检查结果
xcheck检查结果

结果分析

这里对若依管理系统发现的漏洞进行简单分析:从检查结果总览可以看出发现了两个高风险的SQL注入漏洞,其中一个漏洞污染链如下(没展示报告中代码细节),最终在mybatis SQL文件中触发SQL注入漏洞

xcheck检查结果总览
xcheck检查结果总览
SQL注入漏洞污染链
SQL注入漏洞污染链

漏洞验证

本地搭建测试环境,验证结果如下:

通过报错注入获取数据库版本信息
通过报错注入获取数据库版本信息
成功获取数据库版本号
成功获取数据库版本号

0x01防护识别

防护识别是指Xcheck能够识别出用户自定义的安全防护代码,检查时不会将做过防护的漏洞上报为风险。 如下图,在若依管理系统的检查结果中,发现了三个做了安全防护的漏洞(confidence为0)。防护信息中显示在CommonController.java中46行做了安全防护。

来验证下检查器识别到的防护是否正确,可以看到在CommonController.java46行出对文件名做了合法性判断。

通过判断文件名中是否包含..

工具类StringUtils继承自apache库的StringUtils类

所以,检查器识别出的安全防护是准确的。 可以看出,Xcheck能够在没有提前适配的情况下,主动去识别用户的安全自定义防护逻辑,从而降低误报!

想了解Xcheck更多信息或者代码安全审计相关技术欢迎关注xcheck公众号~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 漏洞挖掘
    • 新增两个CNVD
      • 漏洞挖掘过程
      • 0x01防护识别
      相关产品与服务
      应用安全开发
      应用安全开发(Application Security Development,下文中也叫 Xcheck)为您提供优质的代码分析服务。Xcheck 凭借优秀的算法和工程实现,能在极低的误报率和漏报率前提下,以极快的速度发现代码中存在的安全漏洞。Xcheck 采用私有化部署的模式,所以产品使用的整个生命周期,源码都不会流出公司网络,杜绝源码泄露风险。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档