找回密码
 加入怎通
查看: 515|回复: 1

2021年,SQL注入死透了么?_sql注入过时了吗

[复制链接]
我来看看 发表于 2023-03-26 22:17:50 | 显示全部楼层 |阅读模式

原创:小姐姐味道(微信公众号ID:xjjdog)很长一段时间,我认为后端开发,在安全性方面最容易出问题的地方就在于SQL注入通过 where 1=1这种魔幻的SQL写法,就可以很容易的对一个存在问题的系统进行攻击,以至于最终演进出sqlmap这样的神器存在。

! z$ `$ N {: F

后来的fastjson刷新了我的认知,这个框架也算是对互联网安全概念的一种推动连不懂技术的老板,都知道fastjson快的要命,作为程序员安全理念就得到了一次提升为什么对sql注入情有独钟?因为开发人员和SQL打交道的地方太多了。

7 r2 Y# O# v4 o7 }& r

甚至有的专门开发报表的同学,写的SQL行数,比写的代码行数还多!问题是很久很久之前,早在10年前,就有人在喊SQL注入已经死掉了,但时至今日,依然有一大批的SQL注入教程和SQL注入的案例SQL注入是漏洞之王,这可不是吹的。

7 \4 P6 U/ V |3 X. g" W

开源一套以教学为目的系统,欢迎star:github.com/xjjdog/bcma…它包含ToB复杂业务、互联网高并发业务、缓存应用;DDD、微服务指导模型驱动、数据驱动了解大型服务进化路线,编码技巧、学习Linux,性能调优。

! K$ [( x* M( w& d% @; o

Docker/k8s助力、监控、日志收集、中间件学习前端技术、后端实践等主要技术:SpringBoot+JPA+Mybatis-plus+Antd+Vue3当然在这方面,PHP的贡献最大,Java甘拜下风。

7 Y7 g! Y* T! ~

SQL注入流行的原因,就是开发人员对自己太自信了,或者使用的工具太原始了,没有经过框架层进行一次过滤如果你用了Java界的MyBatis或者JPA,发生SQL注入的可能性就变的非常的低现在PHP也有了类似于thinkphp一样的框架,代表着能搞的SQL注入漏洞已经越来越少了。

0 [) L4 s* p( H5 V4 r# u

但不代表着没有,只是门槛提高了我们以MyBatis为例,看一下到底还能不能发生SQL注入MyBatis依然存在SQL注入使用Mybatis的同学,第一个接触的概念,就是#和$的区别这两个符号非常的像Shell中的魔幻符号,但好在只有两种情况。

# {" c% m; k. p

# 代表的是使用sql预编译方式,安全可靠$ 代表着使用的是拼接方式,有SQL注入的风险比如下面这个xml配置,就是一个绝对安全的写法因为整个#{id}会被替换成?

. l: d7 h V' h; _ ( t/ h6 b& ~( e& @ e( p6 Z" z( \( s
回复

使用道具 举报

xiaolu8 发表于 2026-03-04 12:23:05 | 显示全部楼层
分析得很透彻,很多细节都说到点子上了~
回复 支持 反对

使用道具 举报

2026年4月28日真牛社区(fd.znbgj.com)签到记录贴
我今天最想说:「www.xtsjx.cn 小贴士机械网」.

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-4-29 12:41 , Processed in 0.049130 second(s), 27 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表