这是几天前我们一个客户的网站所发生的实实在在的案例,我们开始对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

03-15 11:23