长亭百川云 - 文章详情

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

腾讯代码安全检查Xcheck

106

2024-07-13

0x00 漏洞挖掘

新增两个CNVD

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

若依管理系统(https://gitee.com/y\_project/RuoYi)

MCMS(https://gitee.com/mingSoft/MCMS)

漏洞挖掘过程

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

xcheck检查结果

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

xcheck检查结果总览

SQL注入漏洞污染链

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

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

成功获取数据库版本号

0x01防护识别

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

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

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

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

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

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

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2