常用的几种搜索语法有:inurl、intitle、site。Inurl语法的的作用就是寻找特定的url资源。
我们知道,访问网络中的网站我们都是靠url地址定位的,在浏览器中输入一个网站的地址就可以访问这个网站。
例如在谷歌的搜索框里输入“inurl:blackbap”为关键字就可以得到所有url地址中含有“blackbap”这个单词的网站。
黑客也可以这样构造inurl语句进行入侵工作:假设一套流行的CMS建站程序A中某文件中存在漏洞,而这套CMS里有一个名为“blackbap.aspx”的文件,而互联网上只要不采用建站程序A的网站都不含有或者极少名为“blackbap.asp”的文件,那么我们可以以“inurl:blackbap.asp”作为关键词使用谷歌搜索出有漏洞的网站。
黑客未必只在进行大规模的网站0day攻击才会使用到inurl语句,一个显而易见的例子就是使用inurl语法寻找网站后台。
通常一个动态网站都存在管理网站数据的后台,管理员为了方便的登录进行管理,后台入口地址通常不会太复杂。
不过这在方便了管理员的同时,也方便了黑客。一个不争的事实就是,网站管理后台的关键字始终与“admin”、“login”、“manage”这类词语挂钩。
例如我们以“inurl:admin/login.asp”在谷歌搜索得到了2,340,000条结果,而这些结果中绝大多数都是网站的后台管理入口。
将manage、admin、login组合搜索已经能搜索出成千上万的网站后台了,如果将asp再换成aspx、cgi、php、jsp等动态页面后缀搜索,得到的结果更是无法数算。这就是黑客批量进行后台入侵的最常用的方式。
第二种常用的搜索语法是“intitle”。
在每个web网页中,都会有一个<head>参数,这个参数定义了网页页面中的各种属性,title属性就是里面的一种。
Title属性在HTML页面中的作用就是定义一个标题,当页面打开时使得这个标题在窗体上能够体现。
例如当页面中这么定义:<head><title>首页</title></head>。那么在浏览器的窗体上,页面的标题就是“首页”。
而搜索引擎的“intitle”语法就是针对HTML里面的title属性,使用关键字“intitle:首页”我们就能搜索到在将<title>属性值定义为“首页”的HTML页面。而这个搜索语法通常在黑客手里也是用于搜索网站后台地址。
虽然使用inurl语法可以找到很多的网站后台,但还是有不少的网站管理员更改网站后台地址,使得管理入口脱离了常人思维里的“admin”“manage”等,这时我们就要靠“intitle”语法来找这些使用“inurl”语法找不到的后台地址。
Intitle语法相对于inurl语法的一个优势是可以分语言查询。互联网中绝大多数的url地址都是由英文字母构成的。
在搜索“inurl:login.asp”时通常会夹杂着许多其他国家的网站。但是我们却可以使用“intitle:网站后台管理”来查找中国网站的后台,使用“intitle: Management login”来搜素英美国家的网站的后台登陆入口。
同样的,我们还可以找其他例如韩国、日本、法国等其他国家的网站信息。前面的都是intitle、inurl主要是发动大规模的网站入侵时使用到的,现在我们就讲一下针对指定网站将会用到的搜索语句Site。
Site语法结构同inurl、intitle是相同的,即site:指定网站
例如登陆谷歌后以以下内容作为搜索关键字:“site:www.blackbap.com”或者“site:blackbap.com”进行搜索,我们可以看到谷歌将blackbap.com这个网站的主站目录、bbs目录、wap目录、hackgo活动目录全都列出在搜索结果中。
也就是说,只要网站存在的页面,就有可能被搜索引擎收录到数据库中。我们翻看的时候可能会发现很多在正常情况下看不到的页面,特别是一些bug页面,正常这些页面是不会被人看到的,因为你能看到,管理员同样能看到,它就会被更改、修复。可以说搜索引擎连接了整个的互联网,我们获取信息的渠道多数是搜索引擎提供的,只要你的网站人气高,那么搜索引擎可能就会抓取你网站的大部分存在的信息,哪怕是你刚刚才更新过的。