扫描SQL注入

Blade 未结 1 109

一、该问题的重现步骤是什么?

扫描时出现sql注入问题。


二、你期待的结果是什么?实际看到的又是什么?

商业版,不应该出现sql注入问题。但是注入问题很多。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

3.1.0.RELEASE


四、请提供详细的错误堆栈信息,这很重要。

2d50ec28d78d15d3d803f6695258297b.png

${}部分可以传入表名称,字段名称等信息,导致被扫描出sql注入。

官方的类

SqlKeyword

主要是针对使用 Condition.getQueryWrapper,而自定义的mapper方法无法使用SqlKeyword。请问有什么解决方案么??

1条回答
  • 2024-11-15 18:14

    可以在controller、service层接受参数后,使用SqlKeyword.filter来过滤使用(使用前需要先下载最新版SqlKeyword来覆盖老版本,具体见:https://www.kancloud.cn/smallchill/blade-safety/3234106),举个简单例子如下

    CleanShot20241115181444@2x.png

    作者追问:2024-11-18 09:47

    不使用Wrappers的查询,是不走SqlKeyword.filter的吧,框架代码mappers中查询有使用${}的,漏洞扫描直接就报sql注入的漏洞了,这个怎么解决?

    回答: 2024-11-18 09:57

    看下下面的链接先自行处理下,或者反馈给工作流插件的作者统一修改一下

    https://baomidou.com/reference/about-cve/


    https://baomidou.com/plugins/illegal-sql-intercept/


    作者追问:2024-11-18 11:22

    怎么反馈给工作流插件作者?qq群里没人应答啊!

    回答: 2024-11-18 11:25

    发邮件提供公司名和授权qq号: bladejava@qq.com,邮件里提供联系方式

    0 讨论(0)
提交回复