Google是一个强大的搜索引擎;而对于黑客而言,则可能是一款绝佳的黑客工具。正因为google的检索能力强大,黑客可以构造特殊的关键字,使用Google搜索互联网上的相关隐私信息。通过Google,黑客甚至可以在几秒种内黑掉一个网站。这种利用Google搜索相关信息并进行入侵的过程就叫做Google Hack。
平时使用搜索引擎的过程中,通常是将需要搜索的关键字输入搜索引擎,然后就开始了漫长的信息提取过程。其实Google对于搜索的关键字提供了多种语法,合理使用这些语法,将使我们得到的搜索结果更加精确。当然,Google允许用户使用这些语法的目的是为了获得更加精确的结果,但是黑客却可以利用这些语法构造出特殊的关键字,使搜索的结果中绝大部分都是存在漏洞的网站。
常用语法:
intitle:搜索网页标题中包含有特定字符的网页。例如输入“intitle: cbi”,这样网页标题中带有cbi的网页都会被搜索出来。
inurl:搜索包含有特定字符的URL。例如输入“inurl:cbi”,则可以找到带有cbi字符的URL。
intext:搜索网页正文内容中的指定字符,例如输入“intext:cbi”。这个语法类似我们平时在某些网站中使用的“文章内容搜索”功能。
Filetype:搜索指定类型的文件。例如输入“filetype:cbi”,将返回所有以cbi结尾的文件URL。
Site:找到与指定网站有联系的URL。例如输入“Site:family.chinaok.com”。所有和这个网站有联系的URL都会被显示。
这些就是Google的常用语法,也是Google Hack的必用语法。虽然这只是Google语法中很小的部分,但是合理使用这些语法将产生意想不到的效果。
初阶搜索
1.默认模糊搜索、自动拆分短语
搜索引擎基本一样的语法,直接在搜索框中输入搜索词时,谷歌默认进行模糊搜索,并能对长短语或语句进行自动拆分成小的词进行搜索。
2.短语精确搜索
给关键词加上半角引号实现精确搜索,不进行分词。
3.通配符
谷歌的通配符是星号“*”,必须在精确搜索符双引号内部使用。用通配符代替关键词或短语中无法确定的字词。
4.点号匹配任意字符
与通配符星号“*”不一样的是,点号“.”匹配的是字符,不是字、短语等内容。保留的字符有[、(、-等。
5.布尔逻辑:与或非:and,|,or,-”
布 尔逻辑是许多检索系统的基本检索技术,在搜索引擎中也一样适用,在谷歌网页搜索中需要注意的是:谷歌和许多搜索引擎一样,多个词间的逻辑关系默认的是逻辑 与(空格)。当用逻辑算符的时候,词与逻辑算符之间用需要空格分隔,包括后面讲的各种语法,均要有空格。逻辑非是特例,即减号必须与对应的词连在一起。对 于复杂的逻辑关系,可用括号分组。
6.基本搜索符号约束
加号“+”用于强制搜索,即必须包含加号后的内容。一般与精确搜索符一起应用。关键词前加“-”减号,要求搜索结果中包含关键词,但不包含减号后的关键词,用关于搜索结果的筛选。
7.数字范围
用两个点号“..”表示一个数字范围。一般应用于日期、货币、尺寸、重量、高度等范围的搜索。用作范围时最好给一定的含义。
8.括号分组
逻辑组配时分组,避免逻辑混乱。括号“()”是分组符号。
实例:
inurl:在url中是否存在该关键字
intext:搜索网页正文内容
intitle:在网页标题中搜索关键字
site:freeitjc.com 搜索站点及其host或url
filetype:获取目标的文件类型。如:filetype:doc|bak|mdb|inc 将返回所有以doc,bak,mdb,inc结尾的文件URL
link:返回所有与目标url做了链接的url。如搜索:link:www.freeitjc.com可以返回所有和www.freeitjc.com有链接的url
cache: 搜索google里关于某些内容的缓存。
应用:
1.直接搜索获取后台等的信息:
site:www.****.com intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|manage|admin|login|system
site:www.*****.com inurl:login|admin|manage|manager|admin_login|login_admin|system
site:www.***.com intitle:管理|后台|登陆|
site:www.****.com intext:验证码
2.配合domian等工具实现漏洞扫描
inurl:.asp?id= intext:公司
inurl:115.com intext:手工注入教程 返回带有115网盘中关于该教程的网页同时,包含校验码。
Google hacker的入侵方法(来自网络):
route print 查看本机设置网络
intext:
这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含"动网"的网页.allintext:使用方法和intext类似.
intitle:
和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含"安全天使"的网页.同理allintitle:也同intitle类似.
cache:
搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.
define:
搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.
filetype:
这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输
入:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富:)
info:
查找指定站点的一些基本信息.
inurl:
搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登陆的URL不错.allinurl也同inurl类似,可指定多个字符.
link:
例如搜索:inurl:www.4ngel.NET可以返回所有和www.4ngel.Net做了链接的URL.
site:
这个也很有用,例如:site:www.4ngel.net.将返回所有和4ngel.net这个站有关的URL.
对了还有一些操作符也是很有用的:
+把google可能忽略的字列如查询范围
-把某个字忽略
~同意词
.单一的通配符
*通配符,可代表多个字母
""精确查询
下面开始说说实际应用(我个人还是比较习惯用google.com,以下内容均在google上搜索),对于一个居心叵测的攻击者来说,可能他最感兴趣的就是密码文件了.而google正因为其强大的搜索能力往往会把一些敏感信息透露给他们.用google搜索以下内容:
intitle:"indexof"etc
intitle:"Indexof".sh_history
intitle:"Indexof".bash_history
intitle:"indexof"passwd
intitle:"indexof"people.lst
intitle:"indexof"pwd.db
intitle:"indexof"etc/shadow
intitle:"indexof"spwd
intitle:"indexof"master.passwd
intitle:"indexof"htpasswd
"#-FrontPage-"inurl:service.pwd
有时候因为各种各样的原因一些重要的密码文件被毫无保护的暴露在网络上,如果被别有用心的人获得,那么危害是很大的.下面是我找到的一个FreeBSD系统的passwd文件(我已做过处理):
同样可以用google来搜索一些具有漏洞的程序,例如ZeroBoard前段时间发现个文件代码泄露漏洞,我们可以用google来找网上使用这套程序的站点:
intext:ZeroBoardfiletype:php
或者使用:
inurl:outlogin.php?_zb_path=site:.jp
来寻找我们所需要的页面.phpmyadmin是一套功能强大的数据库操作软件,一些站点由于配置失误,导致我们可以不使用密码直接对phpmyadmin进行操作.我们可以用google搜索存在这样漏洞的程序URL:
intitle:phpmyadminintext:Createnewdatabase
还记得http://www.xxx.com/_vti_bin/..%5C..%5C....m32/cmd.exe?dir吗?用google找找,你也许还可以找到很多古董级的机器。同样我们可以用这个找找有其他cgi漏洞的页面。
allinurl:winntsystem32
图三
前面我们已经简单的说过可以用google来搜索数据库文件,用上一些语法来精确查找能够获得更多东西(access的数据库,mssql、mysql的连接文件等等).举个例子示例一下:
allinurl:bbsdata
filetype:mdbinurl:database
filetype:incconn
inurl:datafiletype:mdb
intitle:"indexof"data//在一些配置不正确的apache+win32的服务器上经常出现这种情况
和上面的原理一样,我们还可以用google来找后台,方法就略了,举一反三即可,毕竟我写这篇文章的目的是让大家了解googlehacking,而不是让你用google去破坏.安全是把双刃剑,关键在于你如何去运用.
利用google完全是可以对一个站点进行信息收集和渗透的,下面我们用google对特定站点进行一次测试。www.xxxx.com是全国著名大学之一,一次偶然的机会我决定对其站点进行一次测试(文中所涉及该学校的信息均已经过处理,请勿对号入座:).
首先用google先看这个站点的一些基本情况(一些细节部分就略去了):
site:xxxx.com
从返回的信息中,找到几个该校的几个系院的域名:
http://a1.xxxx.com
http://a2.xxxx.com
http://a3.xxxx.com
http://a4.xxxx.com
顺便ping了一下,应该是在不同的服务器.(想想我们学校就那一台可怜的web服务器,大学就是有钱,汗一个)。学校一般都会有不少好的资料,先看看有什么好东西没:
site:xxxx.comfiletype:doc
得到N个不错的doc。先找找网站的管理后台地址:
site:xxxx.comintext:管理
site:xxxx.cominurl:login
site:xxxx.comintitle:管理
超过获得2个管理后台地址:
http://a2.xxxx.com/sys/admin_login.asp
http://a3.xxxx.com:88/_admin/login_in.asp
还算不错,看看服务器上跑的是什么程序:
site:a2.xxxx.comfiletype:asp
site:a2.xxxx.comfiletype:php
site:a2.xxxx.comfiletype:aspx
site:a3.xxxx.comfiletype:asp
site:.......
......
a2服务器用的应该是IIS,上面用的是asp的整站程序,还有一个php的论坛
a3服务器也是IIS,aspx+asp。web程序都应该是自己开发的。有论坛那就看看能不能遇见什么公共的FTP帐号什么的:
site:a2.xxxx.comintext:ftp://*:*
没找到什么有价值的东西。再看看有没有上传一类的漏洞:
site:a2.xxxx.cominurl:file
site:a3.xxxx.cominurl:load
在a2上发现一个上传文件的页面:
http://a2.xxxx.com/sys/uploadfile.asp
用IE看了一下,没权限访问。试试注射,
site:a2.xxxx.comfiletype:asp
得到N个asp页面的地址,体力活就让软件做吧,这套程序明显没有对注射做什么防范,dbowner权限,虽然不高但已足矣,backashell我不太
喜欢,而且看起来数据库的个头就不小,直接把web管理员的密码暴出来再说,MD5加密过。一般学校的站点的密码都比较有规律,通常都是域名+电话一类的
变形,用google搞定吧。
site:xxxx.com//得到N个二级域名
site:xxxx.comintext:*@xxxx.com//得到N个邮件地址,还有邮箱的主人的名字什么的
site:xxxx.comintext:电话//N个电话
把什么的信息做个字典吧,挂上慢慢跑。过了一段时间就跑出4个帐号,2个是学生会的,1个管理员,还有一个可能是老师的帐号。登陆上去:
name:网站管理员
pass:a2xxxx7619//说了吧,就是域名+4个数字
要再怎么提权那就不属于本文讨论访问了,呵呵,到此为止。
关于googlehacking的防范
以前我们站的晓风·残月写过一篇躲避google的文章,原理就是通过在站点根目录下建立一个robots.txt以避免网络机器人获得一些敏感的信息,具体大家看原文章:
http://www.4ngel.net/article/26.htm
不过这种方法我个人不推荐,有点此地无银三百两的味道。简单一点的方法就是上google把自己站点的一些信息删除掉,访问这个URL:
http://www.google.com/remove.html
前几天看见又有人讨论用程序来欺骗robot的方法,我觉得可以试试,代码如下:
if(strstr($_SERVER【'HTTP_USER_AGENT'】,"Googlebot"))
{
header("HTTP/1.1301");
header("Location:http://www.google.com");
}
?>
后记
这段时间在国外的一些googlehack的研究站点看了看,其实也都差不多是一些基本语法的灵活运用,或者配合某个脚本漏洞,主要还是靠个人的灵活思
维。国外对于googlehack方面的防范也并不是很多,所以大家还是点到为止,不要去搞破坏拉,呵呵。对于一些在win上跑
apache的网管们应该多注意一下这方面,一个intitle:indexof就差不多都出来了:)
http://www.nxadmin.com/tools/584.html
http://blog.csdn.net/zyw_anquan/article/category/1213357
-
常用的google关键字:
foo1 foo2 (也就是关联,比如搜索xx公司 xx美女)
operator:foo
filetype:123 类型
site:foo.com 相对直接看网站更有意思,可以得到许多意外的信息
intext:foo
intitle: fooltitle 标题哦
allinurl:foo 搜索xx网站的所有相关连接。(踩点必备)
links:foo 不要说就知道是它的相关链接
allintilte:foo.com
我们可以辅助"-" "+"来调整搜索的精确程度
直接搜索密码:(引号表示为精确搜索)
当然我们可以再延伸到上面的结果里进行二次搜索
"index of" htpasswd / passwd
filetype:xls username password email
"ws_ftp.log"
"config.php"
allinurl:admin mdb
service filetype:pwd ....或者某个比如pcanywhere的密码后缀cif等
越来越有意思了,再来点更敏感信息
"robots.txt" "Disallow:" filetype:txt
inurl:_vti_cnf (FrontPage的关键索引啦,扫描器的CGI库一般都有地)
allinurl: /msadc/Samples/selector/showcode.asp
/../../../passwd
/examples/jsp/snp/snoop.jsp
phpsysinfo
intitle:index of /admin
intitle:"documetation"
inurl: 5800(vnc的端口)或者desktop port等多个关键字检索
webmin port 10000
inurl:/admin/login.asp
intext:Powered by GBook365
intitle:"php shell*" "Enable stderr" filetype:php 直接搜索到phpwebshell
foo.org filetype:incipsec filetype:conf
intilte:"error occurred" ODBC request where (select|insert) 说白了就是说,可以直接试着查查数据库检索,针对目前流行的sql注射,会发达哦
"Dumping data for table" username password
intitle:"Error using Hypernews"
"Server Software"
intitle:"HTTP_USER_AGENT=Googlebot"
"HTTP_USER_ANGET=Googlebot" THS ADMIN
filetype:.doc site:.mil classified 直接搜索军方相关word
检查多个关键字:
intitle:config confixx login password
"mydomain.com" nessus report
"report generated by"
"ipconfig"
"winipconfig"
google缓存利用(hoho,最有影响力的东西)推荐大家搜索时候多"选搜索所有网站"
特别推荐:administrator users 等相关的东西,比如名字,生日等……最惨也可以拿来做字典嘛……
一些技巧集合:
1) index.of.password
1) filetype:blt "buddylist"
2) "access denied for user" "using password"
2) intitle:"index of" inurl:ftp (pub | incoming)
3) "http://*:*@www" domainname
3) filetype:cnf inurl:_vti_pvt access.cnf
4) auth_user_file.txt
4) allinurl:"/*/_vti_pvt/" | allinurl:"/*/_vti_cnf/"
5) The Master List
5) inurl:"install/install.php"
6) allinurl: admin mdb
6) intitle:"welcome.to.squeezebox"
7) passlist.txt (a better way)
7) intext:""BiTBOARD v2.0" BiTSHiFTERS Bulletin Board"
8) "A syntax error has occurred" filetype:ihtml
8) intitle:Login intext:"RT is ? Copyright"
9) "# -FrontPage-" inurl:service.pwd
9) ext:php program_listing intitle:MythWeb.Program.Listing
10) ORA-00921: unexpected end of SQL command
10) intitle:index.of abyss.conf
NO2:
--------------------------------------------------------------------------------
google hacking的简单实现
使用google中的一些语法可以提供给我们更多的信息(当然也提供给那些习惯攻击的人更多他们所想要的.),下面就来介绍一些常用的语法.
intext:
这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含"动网"的网页.allintext:使用方法和intext类似.
intitle:
和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含"安全天使"的网
页.同理allintitle:也同intitle类似.
cache:
搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.
define:
搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.
filetype:
这个我要重点推荐一下,无论是撒网式攻击还是我们后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入
:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富:)
inf
查找指定站点的一些基本信息.
inurl:
搜索我们指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接http://www.xxx.com/xxx/admin,用来找管理员登
陆的URL不错.allinurl也同inurl类似,可指定多个字符.
link:
例如搜索:inurl:www.4ngel.net可以返回所有和www.4ngel.net做了链接的URL.
site:
这个也很有用,例如:site:www.4ngel.net.将返回所有和4ngel.net这个站有关的URL.对了还有一些*作符也是很有用的:
+ 把google可能忽略的字列如查询范围
- 把某个字忽略
~ 同意词
. 单一的通配符
* 通配符,可代表多个字母
"" 精确查询
下面开始说说实际应用
以下内容均在google上搜索,对于一个居心叵测的攻击者来说,可能他最感兴趣的就是密码文件了.而google正因为其强大的搜索能力往往会
把一些敏感信息透露给他们.用google搜索以下内容:
intitle:"index of" etc
intitle:"Index of" .sh_history
intitle:"Index of" .bash_history
intitle:"index of" passwd
intitle:"index of" people.lst
intitle:"index of" pwd.db
intitle:"index of" etc/shadow
intitle:"index of" spwd
intitle:"index of" master.passwd
intitle:"index of" htpasswd
"# -FrontPage-" inurl:service.pwd
有时候因为各种各样的原因一些重要的密码文件被毫无保护的暴露在网络上,如果被别有用心的人获得,那么危害是很大的同样可以用google来搜索一些具有漏洞的程序,例如ZeroBoard前段时间发现个文件代码泄露漏洞,可以用google来找网上使用这套程序的站点:
intext:ZeroBoard filetype:php
或者使用:
inurl:outlogin.php?_zb_path= site:.jp
来寻找我们所需要的页面.phpmyadmin是一套功能强大的数据库*作软件,一些站点由于配置失误,导致我们可以不使用密码直接对phpmyadmin进行*作.我们可以用google搜索存在这样漏洞的程序URL:
intitle:phpmyadmin intext:Create new database
还http://www.xxx.com/_vti_bin/..%5C..%5C..%5C..%5C..%5C../winnt/system32/cmd.exe?dir吗?用google找找,你也许还可以找到很多古董级的机器。同样我们可以用这个找找有其他cgi漏洞的页面。
allinurl:winnt system32
前面已经简单的说过可以用google来搜索数据库文件,用上一些语法来精确查找能够获得更多东西(access的数据库,mssql、mysql的连接文件等等).举个例子示例一下:
allinurl:bbs data
filetype:mdb inurl:database
filetype:inc conn
inurl:data filetype:mdb
intitle:"index of" data //在一些配置不正确的apache+win32的服务器上经常出现这种情况,和上面的原理一样,我们还可以用google来找后台.利用google完全是可以对一个站点进行信息收集和渗透的,下面我们用google对特定站点进行一次测试。
首先用google先看这个站点的一些基本情况(一些细节部分就略去了):
site:xxxx.com
从返回的信息中,找到几个该校的几个系院的域名:
http://a1.xxxx.com
http://a2.xxxx.com
http://a3.xxxx.com
http://a4.xxxx.com
顺便ping了一下,应该是在不同的服务器.学校一般都会有不少好的资料,先看看有什么好东西没
site:xxxx.com filetype:do*
得到*个不错的*oc。
先找找网站的管理后台地址:
site:xxxx.com intext:管理
site:xxxx.com inurl:login
site:xxxx.com intitle:管理
超过获得2个管理后台地址:
http://a2.xxxx.com/sys/admin_login.asp
http://a3.xxxx.com:88/_admin/login_in.asp
还算不错,看看服务器上跑的是什么程序:
site:a2.xxxx.com filetype:asp
site:a2.xxxx.com filetype:php
site:a2.xxxx.com filetype:aspx
site:a3.xxxx.com filetype:asp
site:.......
......
a2服务器用的应该是IIS,上面用的是asp的整站程序,还有一个php的论坛
a3服务器也是IIS,aspx+asp。web程序都应该是自己开发的。有论坛那就看看能不能遇见什么公共的FTP帐号什么的:
site:a2.xxxx.com intext:ftp://*:*
没找到什么有价值的东西。再看看有没有上传一类的漏洞:
site:a2.xxxx.com inurl:file
site:a3.xxxx.com inurl:load
在a2上发现一个上传文件的页面:
http://a2.xxxx.com/sys/PreviousFile.asp
用IE看了一下,没权http://www.2cto.com/article/200911/42906.html
http://www.freebuf.com/articles/web/32610.html
http://blog.csdn.net/liushulin183/article/details/51407755
http://blog.renren.com/share/222281323/1498455674
http://www.verydemo.com/demo_c92_i84047.html
http://www.freebuf.com/articles/web/9636.html
baidu hacking 关键词搜索总结
大家新年好,我是xiaoyu,网上有很多利用搜索引擎查找目标站点的攻略,由于发布时间较长,大部分漏洞已经修复,成功率已经不高,下面给大家带来近期利用baidu hacking 拿站的一些心得总结。本人纯属新手,大牛还请勿喷
首先是搜索常用的代码。
inurl:在地址中搜索包含的字段;
intitle:在标题中搜索包含的字段;
intext:在正文中搜索包含的字段;
site:在指定网站中搜索相关内容;
比较常用的还是inurl和intitle。
经典的搜索语句为:
inurl:asp?=
inurl:php?=
inurl:aspx?=
等,寻找存在的注入点。
然而经实践发现大部分网页都安装了安全狗防止注入,直接爆库成功率也不高,估计是以前这样搜的人太多,漏洞大部分被修复。虽然可以用中转注入等方式尝试,但是效率太低。而且,有些站就是存在sql注入漏洞,能拿到账号密码,用御剑扫后台成功率也不高。
下面说一说成功率相对高一些的查找方式。
直接搜索出网站后台,然后反查主页是否存在注入漏洞,是否能够爆库等。
利用语句为:
inurl:admin/login.asp
inurl:admin/login.php
inurl:admin/login.aspx
inurl:manage/login.asp
inurl:manage/login.php
inurl:manage/login.aspx
等
还有搜标题
intitle:系统管理
intitle:后台管理
等
搜漏洞,比如如下地址存在编辑器修改上传asp文件漏洞
inurl:asp-bin/manage/(后面会讲怎么利用)
查到后台后首先使用默认账号密码还有弱口令尝试,比如admin,admin;admin,admin888等,然后尝试万能密码,比如asp aspx万能密码"or "a"="a,PHP万能密码'or 1=1/*,jsp 万能密码1'or'1'='1等,可以节约很多时间,都不行再利用啊D等工具进行注入尝试,最后一点,御剑扫描还是好东西,有的时候能直接扫出数据库或是上传点,或者其他有用的信息,渗透成功率会大大上升。
好了,本次总结就到这里,本文只总结技术问题,不承担由于个人操作产生的法律后果!请大家谨慎操作。