现在 SQL 注入死透了吗?

2019-07-2223:37:17来源:知乎 10 598
摘要

SQL注入作为漏洞之王不会就此消失,漏洞从来都是环环相扣,褪去外网坚韧的防御,内网脆弱无比,拼接来自于人的懒惰,且永远不会缺席。

隐约记得 13 年就有人说 sql 注入已死。然而直到 19 年网上还有大批 sql 注入的教程。所以我在想,是 sql 注入已经从原理上被根绝了。还是说只是基础的手段失效了,只要构造更加精妙的语句还是可以注入?

现在 SQL 注入死透了吗?

反正我感觉没有,感觉 SQL 注入还没有玩透呢,现在跟以前相比,就是多了 waf,需要各种过 waf 姿势,那些人才是大佬啊。但是想仅仅通过 SQL 注入漏洞拿 shell,现在比以前就很难了。各种 waf 不说,有注入你的表也跑不出来,md5 解不了,后台找不到,没有上传点,上传各种限制,一句话连不上,连上没权限,总之,这个漏洞虽然说少了,但不至于凉透了吧。但是能利用起来的都是大佬。

其实 SQL 注入并没有死透,主要原因有四:

  • 1.预编译不能解决所有 SQL 注入:比如表名/列名/排序动态传入的场景,原因是这些地方不能预编译,因此很多人还是直接拼接的,且囿于对预编译的信赖,从外到里没有过滤。
  • 2.可以预编译的地方也有可能出现问题:注入一般爆发在 LIKE 语句/IN 语句中,因为这两个地方的预编译写法都有些特殊,很多开发者懒得去搞,就直接拼接了。
  • 3.在 SQL 语句的写法上,直接拼接比预编译简单太多了,没有接触过信息安全的初学者写出来的代码很大可能存在漏洞;就算是有经验的程序员,在快速上线的压力下,也没有时间再去考虑信息安全的问题。
  • 4.有太多有漏洞的老代码来不及或不能换上预编译,只能靠 WAF 苟活,而 WAF 这种东西本身就是在用户体验与安全性之间的一种矛盾集合体,总有被绕过的可能性。

最后,其实我想说的是,就新开发的系统来说,SQL 注入漏洞确实越来越少了,做到这一点的不是大家的安全意识增强,都知道使用预编译了,而是大量成熟的框架与组件,其本身自带有对安全性的考量,使开发者无感知的写出较为安全的代码。

SQL 注入作为漏洞之王不会就此消失,漏洞从来都是环环相扣,褪去外网坚韧的防御,内网脆弱无比,拼接来自于人的懒惰,且永远不会缺席。

历史文章推荐:

  • 本博客公众号
  • 扫一扫关注!
  • weinxin
  • 本博客小程序
  • 微信内浏览本博客
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:10   其中:访客  5   博主  5

    • wordpress建站吧 wordpress建站吧 4

      上回写了一个东西,对用户输入完全没判断和过滤,结果被输入了一大堆的sql语句,

      • 心灵博客 心灵博客 3

        只是基础的手段失效了,还有就是现在基本都用各种框架开发了,基本安全有人为它们做了。

        • 子午物联网 子午物联网 4

          死透不了,没经验的,照样犯错

          • 弥雅 弥雅 6

            SQL注入肯定没死透啊,因为互联网世界哪有绝对的安全。

            • 伍久网赚博客 伍久网赚博客 1

              值得学习!以后经常留意贵站