4 个单词,谷歌返回 16 个 SQL 注入漏洞

来源: OSCHINA
编辑: 局长
2021-07-27

一名开发者出于好奇在 Google 使用php mysql email register作为关键词进行了搜索。很显然,这是在查找如何使用 PHP 和 MySQL 实现邮箱注册的功能。

搜索结果返回了教程、操作方法、代码片段等内容。不过大多数结果都包含有错误的 SQL 语句,例如:

// Don't do this!
mysqli_query("SELECT * FROM user WHERE id = '" . $_POST["user'] . "'");

根据对谷歌搜索结果的整理,这些 SQL 语句可大致分为四种类型:

  1. SQL 查询中的所有参数都被转义
  2. 只在绝对必要的情况下才对传入的参数进行转义
  3. 作者尝试进行了部分转义,但存在漏洞
  4. 没有任何转义逻辑
# Status URL Site Notes
1 3 link CodeWithAwa "SELECT * FROM users WHERE email='$email' LIMIT 1";
2 1 link envatotuts+  
3 1 link Code Boxx  
4 1 link Aaraf Academy  
5 3 link Webslesson WHERE user_activation_code = '".$user_activation_code."'
6 2 link CodingNepal  
7 3 link YouTube Timestamp provided
8 3 link YouTube This is part 1 of a series of 3. Part 1 is fine, but there are problems in part 2, as well as part 3 here and here and here
9 4 link morioh Redirects you to tutsmake.com where the code is to be found
10 3 link Webs Codex "SELECT * FROM users WHERE otp = '$postOtp'
11 1 link CodeShack  
12 1 link webtipstricks  
13 4 link studentstutorial  
14 4 link positronX.io  
15 1 link Mage Mastery  
16 1 link phppot  
17 4 link TalkersCode  
18 3 link OurSourceCode $query = "update users set status='1' where token='$token'";
19 1 link DZone  
20 3 link Sourcecodester mysqli_query($conn,"select * from user where userid='$user'"), Also, using htmlspecialchars() for SQL escaping everywhere
21 4 link coding cyber  
22 2 link developphp Uses custom RegExes mostly
23 4 link ProgrammerSought  
24 1 link Grepper  
25 1 link CodeAndCourse  
26 4 link w3tweaks  
27 1 link Speedy Sense  
28 1 link Technopoints  
29 4 link Techno Smarter  
30 4 link FormGet  

这名开发者表示,当他发现一个搜索结果中存在有问题的 SQL 语句时,就会跳到浏览下一个结果。上面就是根据此过程整理出来的 30 条搜索结果,其中部分答案包含 SQL 注入语句。对此他认为,大多数 Google 搜索结果的质量十分低下。有些搜索结果就是通过 SEO 优化而排在前面的“扯淡”教程。

同时,这篇文章也引起了程序员的广泛讨论(redditHacker News),不过大家关注的重点也纷纷转移到了编程语言 PHP 上。但作者本意其实是希望程序员能甄别互联网上随手可得的任何资料,毕竟这里面鱼龙混杂。尤其要注意那些通过 SEO 优化而排名靠前的搜索结果,因为它们往往就是“雷区”。

展开阅读全文
5 收藏
分享
加载中
精彩评论
oschina以后就是标题党的天下啦!!!可喜可贺!可喜可贺!
2021-07-27 10:32
12
举报
大把人在Google搜索历史知识就认为是真相并且沾沾自喜以为知道了不得了的事情。
2021-07-27 14:08
4
举报
这很正常。。搜索引擎还没有智能到对内容的质量进行评估的地步。鱼龙混杂是很正常的。

题外:很多有识人士,会建议看看书,不要只看网络上的 “碎片”,书看看带有系统性,并且作者的责任心相对于网络上的博文更强(不然卖不出去)
2021-07-27 10:55
4
举报
“有些搜索结果就是通过 SEO 优化而排在前面的“扯DAN”教程” 说的就是国内的老牌扯DAN网站C某DN吧
2021-07-27 09:39
4
举报
这...关谷歌鸟事?
2021-07-27 14:12
3
举报
最新评论 (18)
光从一行SQL恐怕看不出来有没有注入漏洞。

你怎么知道它除了这行SQL没有做别的安全措施呢? Jsoup听说过没有? 参数都是可以清洗的
2021-07-28 18:26
0
回复
举报
照这大-哈说,那算法文档里的算法演示代码都是 nao-残 代码。。。
2021-07-28 17:02
0
回复
举报
所以代码有漏洞怪Google??
2021-07-27 23:45
0
回复
举报
这篇文章也引起了程序员的广泛讨论(reddit, Hacker News),不过大家关注的重点也纷纷转移到了编程语言 PHP 上。
嗯???秘制操作
2021-07-27 20:34
0
回复
举报
您好,请问怎么找到系统被入侵是什么漏洞导致的?
2021-07-27 15:06
0
回复
举报
三个字,便让老板服服帖帖。
2021-07-27 14:17
1
回复
举报
这...关谷歌鸟事?
2021-07-27 14:12
3
回复
举报
大把人在Google搜索历史知识就认为是真相并且沾沾自喜以为知道了不得了的事情。
2021-07-27 14:08
4
回复
举报
这有点找歪了。免费吃,还要吃最好的。抄代码,还要抄现成的。一个关键点是文本化带来灵活性,必然会增加不必要检测。
2021-07-27 14:06
1
回复
举报
这很正常。。搜索引擎还没有智能到对内容的质量进行评估的地步。鱼龙混杂是很正常的。

题外:很多有识人士,会建议看看书,不要只看网络上的 “碎片”,书看看带有系统性,并且作者的责任心相对于网络上的博文更强(不然卖不出去)
2021-07-27 10:55
4
回复
举报
更多评论
18 评论
5 收藏
分享
返回顶部
顶部