近期,使用了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注入漏洞污染链
漏洞验证
本地搭建测试环境,验证结果如下:
通过报错注入获取数据库版本信息
成功获取数据库版本号
防护识别是指Xcheck能够识别出用户自定义的安全防护代码,检查时不会将做过防护的漏洞上报为风险。
如下图,在若依管理系统的检查结果中,发现了三个做了安全防护的漏洞(confidence为0)
。防护信息中显示在CommonController.java
中46行做了安全防护。
来验证下检查器识别到的防护是否正确,可以看到在CommonController.java
46行出对文件名做了合法性判断。
通过判断文件名中是否包含..
工具类StringUtils继承自apache库的StringUtils类
所以,检查器识别出的安全防护是准确的。
可以看出,Xcheck能够在没有提前适配的情况下,主动去识别用户的安全自定义防护逻辑,从而降低误报!
想了解Xcheck更多信息或者代码安全审计相关技术欢迎关注xcheck公众号~