这是几天前我们一个客户的网站所发生的实实在在的案例,我们开始对Google机器人的IP进行屏蔽,根据抓到的请求可以判断它做的是SQL注入攻击。你没听错,对!Google机器人在对你们做SQL注入!
我们的发现始于Google机器人的IP地址被SQL注入防护策略屏蔽,各位看官看以下日志(打了点码):
66.249.66.138 - - [05/Nov/2013:00:28:40 -0500] "GET /url.php?variable=")%20declare%20@q%
20varchar(8000(%20select%20@q%20=%200x527%20exec(@q)%20-- HTTP/1.1" 403 4439 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
我们的第一反应是觉得这是个伪造的机器人,但当我们检查IP地址来源是却发现这是实实在在的google机器人!
$ host 66.249.66.138
138.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-138.googlebot.com.
NetRange: 66.249.64.0 - 66.249.95.255
CIDR: 66.249.64.0/19
OriginAS:
NetName: GOOGLE
进一步调查显示其它相似的请求签名都是来自于Google的IP地址。
到底咋回事?
其实Google并不是真有兴趣要黑我们,它是真的爱我们。
场景是这样的:
Google机器人正在网站A收集信息,网站A内嵌入了对目标网站B的SQL注入请求链接,Google机器人顺着链接访问网站B,就无意中开始对网站B执行了SQL注入攻击。
看到这里大家应该懂了吧?
http://web100.cc
利用机器人做攻击?
我们假设有个黑客叫小明。小明每天花很多时间在找web漏洞,所以小明也发现了一堆的漏洞站。而他也很清楚明白,他必须要掩饰他的行为。
而一个安全人员最普遍的方法都是分析日志。小明也知道这点,所以他现在可能有一个B网站的漏洞,比如SQL注入或者RFI。
于是小明到自己的网站A上面,写下这些EXP,让爬虫来爬……
这种类似场景其实很容易想象吧?
我们已经就这个问题联系谷歌了。对于爬虫,我们不能仅仅只是做白名单,而应该在这前面先对请求做检测!
源文地址:http://www.freebuf.com/articles/web/16519.html