汪昱-快手-Security By Default:MyBatis框架下SQL注入解决方案-脱敏版(22页).pdf

编号:82868 PDF 22页 1.30MB 下载积分:VIP专享
下载报告请您先登录!

汪昱-快手-Security By Default:MyBatis框架下SQL注入解决方案-脱敏版(22页).pdf

1、汪昱汪昱快手高级安全工程师Security By Default:MyBatis框架下SQL注入解决方案提纲 背景与现状 初阶安全实践 最佳安全实践:Security By Default闲话 据“非官方”甲方安全数据统计,SQL注入仍然占据不少公司高危安全漏洞Top 3之列,在SQL注入中,order by注入比例最高 0202年都要结束了,为什么SQL注入还是痛点问题之一?RD有犯错的机会MyBatis简介 MyBatis是一款在国内外使用度很高的ORM框架 京东、阿里、美团等以Java为业务主要开发语言的公司均有使用 MyBatis框架下,SQL注入漏洞依旧时常发生MyBatis框架下的

2、SQL注入 众所周知,SQL拼接是SQL注入的罪魁祸首 众所周知,预编译是SQL注入的安全编码方案 众所周知,MyBatis下的SQL动态传参有2种方法:#param是预编译方式$param是直接拼接方式#param不是万能的 MyBatis层order by、group by等地方不能使用#param方式进行预编译,只能使用$param直接拼接 MyBatis给了安全提示,但是也给了RD犯错的机会 Tips from MyBatisNOTE Its not safe to accept input from a user and supply it to a statement unmodi

3、fied in this way.This leads to potential SQL Injection attacks and therefore you should either disallow user input in these fields,or always perform your own escapes and checks.插播甲方代码安全管控 大多数漏洞,任何静态分析技术都不能(接近)零误报零漏报地自动化检测 举个栗子:order by$param拼接了参数,但是在Controller层限制了仅接受“column1”,“column2”的用户输入 将漏洞检测转化成

4、“合理的”规范检测是大型甲方常用“套路”(褒)语法树分析静态污点分析正则提纲 背景与现状 初阶安全实践 最佳安全实践:Security By Default回归MyBatis下的SQL注入“合理的”的安全编码规范?MyBatis下,能用#方式的一律不许用$方式拼接?类似order by、group by这些不能用#的,必须在业务层校验输入解决可以用#传参的SQL注入这种“教育为主”的规范,安全部门无法知道RD到底有没有正确对不能使用#地方进行输入限制 限制污点净化“污点净化”是白盒检测的难点初阶安全实践业务自行限制(污点净化差异性)Mapper处限制(污点净化标准化)初阶安全实践 MyBati

5、s Generator(MBG)是用于自动生成MyBatis Mapper文件的工具,可以有效提高研发效率,使用范围很广 MBG自动生成的Mapper存在使用$直接拼接参数的情况MBG生成的Mapper order by处存在$Example_Where_Clause和Update_By_Example_Where_Clause处存在$MBG生成的Mapper order by处存在$Example_Where_Clause和Update_By_Example_Where_Clause处存在$提纲 背景与现状 初阶安全实践 最佳安全实践:Security By Default问题聚焦 在初阶解

6、决方案中,如果业务手写Mapper,CI/CD已经完成卡点检测(量小反弹小)问题聚焦在使用MBG生成Mapper的安全问题Example_Where_Clause场景$风险分析 操作condition的API全部是protected作用域RD不会使用此API,因此不会有外部可控参数导致SQL注入order by场景$风险分析org/mybatis/generator/codegen/mybatis3/xmlmapper/elements/SelectByExampleWithBLOBsElementGenerato

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(汪昱-快手-Security By Default:MyBatis框架下SQL注入解决方案-脱敏版(22页).pdf)为本站 (小时候) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠