SQL 注入真是防不胜防!
程序员的成长之路
共 2913字,需浏览 6分钟
· 2021-07-18
阅读本文大概需要 3.5 分钟。
来自:https://www.freebuf.com/vuls/240578.html
前言
一、Mybatis的SQL注入
#
,另一种是$
。比如:<select id="queryAll" resultMap="resultMap">
SELECT * FROM NEWS WHERE ID = #{id}
</select>
#
使用预编译,$
使用拼接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
<foreach collection="ids" item="item" open="("separatosr="," close=")">
#{ids}
</foreach>
3、order by 之后
$
,而like和in没有问题。二、实战思路
$
关键字[http://localhost:8080/ms-mcms/mcms/search.do?categoryId=1%27](http://localhost:8080/ms-mcms/mcms/search.do?categoryId=1'))%20%20or+updatexml(1,concat(0x7e,(SELECT+%40%40version),0x7e),1)%23
三、总结
1、Mybatis框架下审计SQL注入,重点关注在三个方面like,in和order by
2、xml方式编写sql时,可以先筛选xml文件搜索$,逐个分析,要特别注意mybatis-generator的order by注入
3、Mybatis注解编写sql时方法类似
4、java层面应该做好参数检查,假定用户输入均为恶意输入,防范潜在的攻击
推荐阅读:
一款基于 Spring Boot 的现代化社区(论坛/问答/社交网络/博客)
最近面试BAT,整理一份面试资料《Java面试BATJ通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
朕已阅
评论
10个高级的 SQL 查询技巧
来源:towardsdatascience.com/ten-advanced-sql-concepts-you-should-know-for-data-science-interviews-4d7015ec74b0👉 欢迎加入小哈的星球 ,你将获得: 专属的项目实战 / Jav
小哈学Java
0
图解 SQL 执行顺序,通俗易懂!
来源:blog.csdn.net/weixin_44141495/article/details/108744720/数据的关联过程from&join&wheregroup byhaving&whereselectorder bylimit这是一条标准的查询语句:图片这是我们
Java专栏
10
8种专坑运维的 SQL 写法,性能降低100倍,您不来看看?
来源:机器之心1、LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type,name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT *FROM opera
良许Linux
0
有了这 4 款脚本工具, 再也不怕写烂 SQL了!!!
来自:toutiao.com/a6691523026984370699mysqltuner.pltuning-primer.shpt-variable-advisorpt-qurey-digest对于正在运行的mysql,性能如何,参数设置的是否合理,账号设置的是否存在安全隐患,你是否了然于胸呢?俗
良许Linux
0
我的SQL学习经历
关注公众号,SQL干货及时获取后台回复:1,进SQL技术交流群SQL面试专栏《SQL145题第2版》大家好,我是李岳~经常有小伙伴问我:岳哥,你之前是怎么学会SQL的?有没有什么快速入门的方法?常常因为比较忙也不能系统的回答,今天把我曾经的一些学习经历和方法分享给大家,希望对大家有点帮助。1、万事开
SQL数据库开发
0
面试的我 VS 真实的我,真是服了...
这是面试系列第二篇,上一篇是谈薪资《有点激动,谈了个高薪...》,那这篇就是谈心机,大家可以自行对照...HR篇010203040506技术篇010203040506老板篇0102030405< END >作者:不会笑青年、孤独烟漫画师:栗子
Stephen
0
如何将 SQL 与常见 AI 工具 GPT 集成
随着GPT模型的快速发展和卓越表现,越来越多的应用开始集成GPT模型以提升其功能和性能。在本文章中,将总结构建SQL提示的方法,并探讨如何将一个开源SQL工程进行产品化。文末有送书福利!!!总结SQL提示内容有两个...
业余草
0
奇思妙想的SQL|兼顾性能的数据倾斜处理新姿势
阿里妹导读本篇为系列第2篇,分享在支付宝支付数据链路改造升级过程中,针对数据倾斜的优化实践新方法,在解决数据倾斜问题的同时,还能兼顾更优的计算性能!文章导读SQL作为目前最通用的数据库查询语言,其功能和特...
Java学习之道
0