Xcheck Java引擎漏洞挖掘&防护识别
2021-7-1 16:54:7 Author: mp.weixin.qq.com(查看原文) 阅读量:1 收藏

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公众号~

文章来源: https://mp.weixin.qq.com/s?__biz=Mzg2ODQ3ODE1NA==&mid=2247485770&idx=1&sn=f5043cbd6236b88f339170092e2c1713&chksm=ceaaf4eff9dd7df99f10c212a23b9665d1a44e85c4dc9e60f846f5602e8a16584ba14194f308&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh