下面我们以google为例,解析攻击者是如何通过搜索引擎来对网站实施渗透攻击的。
我们平常搜索资料都是打开google,然后在“搜索框”里输入关键字,找到自己所需的内容。其实搜索引擎还有更高级的功能,特别是有自己的搜索语法。如果攻击者精心设计一段搜索语句,就可以搜索到一些网站的敏感的信息,然后利用这些信息,进一步地渗透,就有可能把整个网站攻陷。
一、关于Google的高级搜索
1、图形界面
google的个高级搜索页面为:http://www.google.cn/advanced_search?hl=zh-CN。在这个页面上,可以对搜索的关键词、语言、文件格式等进行设置,一个有经验的攻击者利用它,就可以通过精心构造的的语句,搜集到自己所需的信息。比如存在漏洞的页面,以及数据库地址、上传页面等。我们可以做个测试,在google的高级搜索页面中输入如图1所示的关键字,搜索采用某网站系统的网站的漏洞页面。
图2中我们可以看到有6,230,000个搜索结果,经过随机测试,这些页面存在注入漏洞的大概30%以上,攻击者通过手工或者工具就可以得到网站的管理员的用户名和密码,然后通过默认后台或者构造google语句找到网站的后台登录,上传webshell,进一步渗透获得服务器的控制权。
提示:这样的工具一般都是傻瓜式的,几乎没有什么技术门槛,但是危害极大。
2、构造语句
我列举一下常用的搜索语句,希望大家知己知彼,有个了解:
(1)搜索目录浏览的语法有:intitle、intext、inurl等等。
(2)搜索特定的文件的语句:filetype 例如:filetype mdb (搜索数据库文件)。
(3)搜索特定的文件夹语句:index of。网站中比较敏感的文件夹主要有:Inetpub、etc、share、admin login、denglu、guanli、upload、shangchuan等等。比如index of inetpub (搜索IIS下的根文件夹)。
(4)搜索协议的语句:常见的协议有:TCP、IP、DNS、TELNET等等。
(5)搜索域名后缀,常见的域名后缀有:com、net、mil、org、info、gov、edu等等,还可以针对不同地区来查找比如cn等等。
提示:关于目录浏览的搜索,可能是攻击者用得比较多的,攻击者构造类似"To parent director"、"parent director"、"Last modifi Description"的语句就可以找到很多有目录浏览漏洞的网站,然后实施攻击。
总结:这些是最常用的搜索语句,但是攻击者可以精心设计一些搜索语句探测网站的敏感信息。
二、初步探秘
1、攻击者工具:
搜索引擎构造搜索语句;
利用专门的工具(例如:挖掘机)
2、攻击者可以用google hacking干什么呢?
(1)数据库搜索
(2)登录页搜索
(3)文件搜索
(4)目录搜索
……
3、攻击的基础
(1)conn.asp
相关知识:conn.asp是个数据库链接文件,文件中记录了网站数据库的相关信息,比如数据库的名称、数据库的地址,及其数据库的类型。
比如下面是access数据库和sqlserver数据库的conn.asp文件的内容。
ACCESS数据库链接代码:
dim db,Conn,ConnStr
db="您的ACCESS数据库路径"
set conn=Server.CreateObject("ADODB.Connection")
.................................
MS SQL Server数据库链接代码:
dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,Conn,ConnStr
SqlDatabaseName="SQL数据库名称"
SqlPassword="SQL数据库登密码"
SqlUsername="SQL数据库登陆用户名"
SqlLocalName="SQL服务器IP地址"
..............
通过conn.asp我们可以非常容易地找到数据库的地址,然后就可以想办法下载数据库。有了数据库,攻击者拿下网站就简单多了。
攻击手段:直接在Google里输人:“inurl:conn.asp”或者“inurl:/inc+conn.asp”,搜索到很多内容,其中有些对攻击者来说是没有价值的内容,我们找到一个链接打开,找到了一个暴库漏洞的网站(图3)。数据库可以下载。测试到此。
(2)数据库
攻击者通过构造相关网站系统的数据库路径加数据库名称的组合,然后在google中搜索,就可以找到相关的数据库。我们这 里不用手工的方法,我们通过一个工具,“挖掘机”。它其实就是利用了搜索引擎,只是不这一切自动花了,这样的工具会非常容易找到网站的敏感文件,也更容易被一些初级用户掌握,因此危害极大。
攻击者可以有针对性地进行搜索,也可以进行拉网式的大搜捕。我在1分钟的时间就搜到很多结果,随机测试,有80%以上的数据库可以下载,可以打开图4。
(3)目录
上例中在我们的演示中通过“inurl:/inc+conn.asp ”语句看到了很多网站的目录。通过这个搜索语句攻击者可以浏览一些网站的目录。如果你足够细心的话,你还会看到它们都有一个共同点就是都含有“to parent directory ”这句话。那么我们再构造对“to parent directory”看看。
居然有16,900,000项符合条件的查询结果,太令让人惊讶了。出现这个漏洞是服务器没有配置好而出现的安全问题,问题就出在服务器的“目录浏览”上,不仅IIS和Apache存在这样的问题,其它web服务器也存在这样的类似问题。可以浏览网站的目录,那么攻击者就可以在网站的目录之间跳转,找到自己感兴趣的文件,比如数据库,登录页面等等。
三、模拟测试
下面我通过几个实际的例子现身说法,看看google hacking的危害。
1、数据库:输入intext:to parent directory+intext:mdb语句,搜索网站数据库文件。
不仅数据库文件可以下载,其他的asp文件也可以下载得到源代码。打开刚下载的数据库,管理员的密码就轻松得到了,接下来就是登录后台,上传木马和提权了,这里就不多讲了。
2、敏感文件:输入intext:to parent directory+intext:conn.asp语句,搜索网站的数据库链接文件conn.asp,下载一个文件后发现里面居然是网站最敏感的数据。
3、日志文件:输入index of "新建 文本文档.txt 语句",有一个日志文件,下载后发现有一些绝对路径的敏感信息。
4、Webshell:输入inurl:/inc+diy.asp语句后得到了一个免费的Webshell。
四、防范措施
预防Google Hacking,管理员应该做到以下几点:
1、加固服务器,并将其与外部环境隔离。
一个很不幸的事实是,许多关键服务器完全暴露在Internet上,管理员一定要加强服务器的存取控制,并将其放在防火墙之后。
2、设置robots.txt文件,禁止Google索引你的网页。
够通过设置“googlebot”的“User-agent:”参数的方法保护网络服务器的文件和目录免受Google索引,方法是在“Disallow:”部分列出你想保密的信息。
3、将高度机密的信息从公众服务器上去除。
制定一项组织策略用来保护高度机密的信息(例如密码、机密文件等)远离公众可以访问的服务器。否则,使用任何可能的存取控制措施来保护它们,并且确保这些策略能够被强制执行,并且管理那些违规者。
4、保证你的服务器是安全的
(1)千万不要忽视服务器下的“目录浏览”功能,如果配置不当,特别是网站根目录也允许目录浏览的话.就可能会对网站产生毁灭性的打击,使用不当就是网站的一根软筋。所以”目录浏览”这个功能在使用的时候要慎重。
(2)“脚本资源访问”和“写入”千万不要随便开启,除非有特殊悄况。
(3)改变数据库和后台等敏感文件的默认路径和文件名。
(4)不要把与网站无关的文件放到网站的目录下,这样就算网站被攻陷,这些文件不至于被顺手牵羊。
总结:Google Hcaking不算是新的攻击方法,但是它是简单易行的攻击,技术门槛不高,利用它有无数人成功过,也有无数人忽略它的存在。希望这篇文章对于大家认识 Google Hacking的害有所帮助,从而重视并加固服务器,防被搜索引擎这把双刃剑刺伤。
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!