读书笔记《Google Hacking技术》
这是一份人人都该去了解的最基础的HACK技术,它几乎没有编程需求,只有基本的互联网操作,值得去学习一下。
利用信息的不对称一直是商业活动的核心要素之一。而当前我们在一个信息时代,如何利用搜索引擎获取信息,汇总信息,筛选信息则是重中之重。
如果能够加上英语基础,扩大自己的视野,配以一个有创意灵活的脑子,就一定会在这个时代占据生存的有利环境。
某志总结依然是“英语是基础,互联网是手段,脑子是个好东西,有这三样,金钱总会来的。”
基础篇
Google搜索基本法则
- 查询是不区分大小写的。
例如搜索“hello world”和搜索”HelLo WorlD”的搜索结果数量是完全不变的。
- 搜索时是会拆词的。
搜索查询引擎是不会去理解一个句子,
例如搜索“我爱吃苹果”和搜索“我 爱 吃 苹果”的搜索结果数量是几乎一致的。
- 搜索会有停用词忽略的。
搜索时,一些意义不大的词,会被搜索引擎忽略。这些词被称为“停用词”(Stop word),例如“什么,谁,和,的”这些词。
例如搜索“什么音乐最好听”和搜索“音乐 最好听”的搜索结果数量是几乎一致的。
Google搜索基本技巧
- 逻辑符号 “-”
“-” 的意义是排除,例如我们搜索“apple -orange”,即表示我们仅需要带有“apple”的文章,而且,其中如果出现了“orange”则进行排除。
这一点其实很常用,例如我搜索“肩周炎”,但是前几页搜索都是XX医院的广告,此时就可以屏蔽掉它,搜索“肩周炎 -医院”就可以得到对应的信息了。
其他的“AND OR + | ”这些符号意义很少,不记录了。
- 完全匹配符号 ‘“”’
一个双引号包围起来的多个单词会被视为不可拆分的词组,要求完全匹配。
例如,我们想搜索“太阳能汽车”,但是如果仅仅输入 太阳能汽车价格 这七个字,那么搜索引擎会进行自动分词,拆成“太阳能 汽车 价格”,最终可能连“太阳能风能的优劣”“丰田汽车价格”都会被搜索到。
但如果我们在这些关键字前后加上双引号的话,那么将强制要求搜索引擎不拆分词,即,目标网页内必须 连续的出现 太阳能汽车价格 才行。
Google高级搜索技巧
标题限制符: intitle, 例如搜索“intitle:英雄联盟”,则搜索结果要求网页标题内包括”英雄联盟”的网页,在网页内容中出现“英雄联盟”是不会被搜索到的。 (PS:网页标题一般都是在浏览器标签栏显示的)
多重标题限制符:allintitle,和上面的差不多,只是将全部关键字都限制在标题中,例如搜索“allintitle:英雄联盟 DOTA”则要求“英雄联盟”和“DOTA”关键字都出现在标题中才行,但“intitle:英雄联盟 DOTA”则仅要求“英雄联盟”出现在标题,而“DOTA”出现在正文中即可。
网址限制符: inurl, allinurl ,则是要求搜索关键字必须出现在网址中。例如搜索“inurl:/login”即可搜索到大量不同网站的登陆页面,因为这些页面网址中通常都含有“/login”
网内搜索限制符: site,和上面inurl不同,它是站内搜索。例如搜索:“汽车 site:sina.com”,则表示在sina.com这个网站中进行搜索“汽车”这个关键字。
文件类型限制符: filetype,它是指定文件格式的搜索。例如搜索:“烹饪秘籍 filetype:pdf”,将会仅仅搜索到PDF文档格式的数据。ext与filetype等价,例如搜索:“烹饪秘籍 ext:pdf”
关联性搜索符:related,搜索和指定网站类似的网站。例如搜索:“related:zhihu.com”,可以方面你搜索一些不错的站点。
其他一些不常用的
价格搜索符: $ ,例如搜索 “汽车 $12000” ,比 “汽车 价格 12000元” 有效的多。
社交平台搜索符: @, 例如搜索 “刘德华 @facebook” “Trump @twitter” 。
日期限制符:date, 缓存搜索符:cache, 股票搜索符:stocks,音乐搜索符:music, 电影搜索符:movie, 天气预报搜索符:weather
数字区域符: numrange:19900416-19910416
其他
这些搜索在其他搜索引擎也通常是有效的,例如 yahoo, baidu 等
Hacking篇
搜索目录列表
搜索 intitle:index.of
进阶搜索指定目录 intitle:index.of inurl:admin
进阶搜索指定目录2 intitle:index.of inurl:“/admin/*”
服务器版本 intitle:index.of “server at”
其他:特殊目录 intitle:index.of inurl:backup
搜索核心文件
WS-FTP客户端配置文件 filetype:ini inurl:ws_ftp
其他组合式配置文件搜索 inurl:conf OR inurl:config OR inurl:cfg
PHP配置文件 intitle:index.of config.php
MySQL配置文件 filetype:cnf my.cnf -cvs -example
日志文件 filetype:log inurl:log
PHP Web统计表日志 “by Reimar Hoven” | inurl:“log/logdb.dta”
Java口令文件 ext:log password END_FILE
putty日志文件 filetype:log username putty
数据文件
口令文件 filetype:xls username password email
管理数据 filetype:xls inurl:admin
数据库备份文件 inurl:backup filetype:mdb
数据库登录页面
MySQL登录 intitle:“Web Data Administrator - Login”
PHPMyAdmin登录 inurl:“main.php” “phpMyAdmin”
帮助文件
MySQL配置文件 inurl:“index of” mysql.conf OR mysql_config
PHP配置文件 inurl:php.ini filetype:ini
特殊代码文件
- PHP核心函数文件 filetype:inc intext:mysql_connect
- PHP核心函数文件 filetype:inc intext:mysql_connect
错误消息
泄露SQL代码 “You have an error in your SQL syntax near” filetype:log
MySQL错误消息信息泄露 “MySQL error with query”, “access denied for user” “using password”, “Warning: mysql_query(”
数据库Dump文件
SQL数据库dump filetype:sql “Dumping data for table”
SQL数据库dump filetype:sql “Dumping data for table (username|user|users|password)”
phpMyAdmin创建的SQL数据库dump “# phpMyAdmin MySQL-Dump” filetype:txt
搜索漏洞
搜索漏洞站点 filetype:c exploit 再提取域名
搜索部分源码
- C .c "#include <stdio.h>"
- C# .cs "using System;"
- C++ .cpp "#include "stdafx.h""
- Java .java "class public static"
- JS .js "<script language= "JavaScript">"
- Python .py "#!/usr/bin/env"
搜索部分漏洞源码
- XSS回显: lang:php echo.*\$_(GET|POST)
- XSS回显: lang:php echo.*\$_SERVER[‘PHP_SELF’]
- SQL注入: lang:php mysqlquery(.*\$(GET|POST).*)
- SQL注入: lang:php “WHERE username=‘$_”
- 其他漏洞: lang:php \$_SERVER[‘HTTP_REFERER’]
搜索容易受到攻击的目标
一般这里我们需要分析源码,例如下载一个wordpress安装后,查看其源码,找到类似“Powered by WordPress 2.0.1”这样的关键词,进行查找定位。
这种方式可能能使对方泄露版本号,地址,产品细节等信息。
然后通过产品细节,查找定位其exploit。
- Gellery1.44具有远程攻击漏洞 “Powered by Gallery v1.4.4”
- Asp Nuke 1.2~1.4版有SQL注入漏洞 “inurl:gotoURL.asp?url=”
- FCKEditor 2.0,2.2有多个漏洞 “index of” intext:fckeditor inurl:fckeditor
类似的exploit有数千种之多,可以多收集,例如exploit, vulnerability, vulnerable
搜索登录入口
常规登陆口 inurl:login.asp OR inurl:/admin/login.asp OR “please log in” OR intitle:“please login”
.NET登陆页 ASP.login_aspx “ASP.NET_SessionId”
搜索网络Web工具
例如搜索 inurl:nqt.php intitle:“Network Query Tool” 可以打开搜索的页面,进行网站信息搜索,可以有效的隐藏自己的IP
例如搜索 inurl:“lg/” | inurl:lookingglass 可以找到显示路由统计信息的lookingglass服务器
例如搜索 intitle:“Welcome to ntop!” 可以找到显示网络流量统计信息的服务器
例如搜索 nessus 报告 this file was generated by nessus
搜索网络设备
例如搜索网络摄像头 intitle:“ViewerFrame?Mode=”
例如搜索网络打印机 inurl:hp/device/this.LCDispatcher
搜索防火墙设置,网络路由器,VOIP电话,UPS电源控制,市政水表等
秘密信息
- 搜索用户名列表 inurl:admin inurl:userlist filetype:asp
- 搜索用户信息泄露 filetype:rdp rdp
- 搜索密码 inurl:lilo.conf filetype:conf password -tatercounter2000 -bootpwd -man
- 搜索个人信用卡号,社会安全号码,个人财务数据,常见聊天软件文件等等
其他技巧
部分搜索时,需要去除类似test, example, sample等明显的测试数据,可以 -test 这样去掉。
可以加上 site:xxxoo.com 来限制对指定站点的搜索
可以针对关键字,找到对应的其他语言来进行搜索,例如password的德语是”Kennwort”, 法语是”mot de passe”,葡萄牙语是”senha”等等
通常建议,在批量自动化搜索后,可以通过正则表达式等编码手解析段排除掉不正确的站点。
授之以渔
上面的Hacking关键词数千个之多,下面是推荐的资料库