我们在写网站防火墙规则的时候可能都会做一件事:永远不屏蔽那些主流搜索引擎机器人的爬取(如,Google,Bing,Yahoo,Baidu等).
至今,我们觉得这样很好,但是现在我们时不时地碰到一些奇怪的现象,不得不让我们思考一个问题,如果一个合法的搜索引擎机器人被用来攻击网站那会怎样?难道我们仍然让这样的攻击畅通无阻而不去屏蔽他?
这种情况几天前确实在我们的一个网站上发生了,我们要开始屏蔽Google的ip地址,因为谷歌蜘蛛爬网站时发送的请求确实存在SQLi攻击.你没看错,谷歌蜘蛛确实正在攻击网站.
发送的请求
一切起源于我们发现一个真实的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)"
我们一开始以为它是一个假的Google bot,但是审查ip后发现这个ip真的是Google的: