这是一份人人都该去了解的最基础的HACK技术,它几乎没有编程需求,只有基本的互联网操作,值得去学习一下。

利用信息的不对称一直是商业活动的核心要素之一。而当前我们在一个信息时代,如何利用搜索引擎获取信息,汇总信息,筛选信息则是重中之重。

如果能够加上英语基础,扩大自己的视野,配以一个有创意灵活的脑子,就一定会在这个时代占据生存的有利环境。

某志总结依然是“英语是基础,互联网是手段,脑子是个好东西,有这三样,金钱总会来的。”

基础篇

Google搜索基本法则

  1. 查询是不区分大小写的。

例如搜索“hello world”和搜索”HelLo WorlD”的搜索结果数量是完全不变的。

  1. 搜索时是会拆词的。

搜索查询引擎是不会去理解一个句子,

例如搜索“我爱吃苹果”和搜索“我 爱 吃 苹果”的搜索结果数量是几乎一致的。

  1. 搜索会有停用词忽略的。

搜索时,一些意义不大的词,会被搜索引擎忽略。这些词被称为“停用词”(Stop word),例如“什么,谁,和,的”这些词。

例如搜索“什么音乐最好听”和搜索“音乐 最好听”的搜索结果数量是几乎一致的。

Google搜索基本技巧

  1. 逻辑符号 “-”

“-” 的意义是排除,例如我们搜索“apple -orange”,即表示我们仅需要带有“apple”的文章,而且,其中如果出现了“orange”则进行排除。

这一点其实很常用,例如我搜索“肩周炎”,但是前几页搜索都是XX医院的广告,此时就可以屏蔽掉它,搜索“肩周炎 -医院”就可以得到对应的信息了。

其他的“AND OR + | ”这些符号意义很少,不记录了。

  1. 完全匹配符号 ‘“”’

一个双引号包围起来的多个单词会被视为不可拆分的词组,要求完全匹配。

例如,我们想搜索“太阳能汽车”,但是如果仅仅输入 太阳能汽车价格 这七个字,那么搜索引擎会进行自动分词,拆成“太阳能 汽车 价格”,最终可能连“太阳能风能的优劣”“丰田汽车价格”都会被搜索到。

但如果我们在这些关键字前后加上双引号的话,那么将强制要求搜索引擎不拆分词,即,目标网页内必须 连续的出现 太阳能汽车价格 才行。

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
  • 错误消息

    • 泄露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关键词数千个之多,下面是推荐的资料库

Google hacking database