Mybatis 框架下 SQL 注入攻击的 3 种方式,真是防不胜防!
码农突围
共 2770字,需浏览 6分钟
·
2020-08-19 23:21
前言
一、Mybatis的SQL注入
使用预编译,$使用拼接SQL。
1、模糊查询
Select * from news where title like ‘%#{title}%’
select * from news where tile like concat(‘%’,#{title}, ‘%’)
2、in 之后的多个参数
Select * from news where id in (#{ids})
id in
"ids" item="item" open="("separatosr="," close=")">#{ids}
3、order by 之后
二、实战思路
三、总结
1、Mybatis框架下审计SQL注入,重点关注在三个方面like,in和order by 2、xml方式编写sql时,可以先筛选xml文件搜索$,逐个分析,要特别注意mybatis-generator的order by注入 3、Mybatis注解编写sql时方法类似 4、java层面应该做好参数检查,假定用户输入均为恶意输入,防范潜在的攻击
---END--- 重磅!码农突围-技术交流群已成立 扫码可添加码农突围助手,可申请加入码农突围大群和细分方向群,细分方向已涵盖:Java、Python、机器学习、大数据、人工智能等群。 一定要备注:开发方向+地点+学校/公司+昵称(如Java开发+上海+拼夕夕+猴子),根据格式备注,可更快被通过且邀请进群 ▲长按加群 推荐阅读
• Docker 禁止被列入美国“实体名单”的国家、企业、个人使用 • 最年轻36岁!2020年度国家“杰出青年”名单公布,21人在计算机领域贡献突出 • 面试:如何决定使用 HashMap 还是 TreeMap? • 2020中国高校薪资排行出炉!好过双一流的高校原来这么多! • 还只是 39 岁!一个天才年轻程序员的陨落 • 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL 最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 BAT 领取,更多内容陆续奉上。
如有收获,点个在看,诚挚感谢明天见(。・ω・。)ノ♡
评论