信息收集
信息收集的方式可以分为两种:主动和被动。
- 主动信息收集:通过直接访问、扫描网站,这种流量将流经网站。
- 被动信息收集:利用第三方的服务对目标进行访问了解,比例:Google搜索、Shodan搜索等。
Google Hacking
基本搜索
- 逻辑与:and
- 逻辑或: or
- 逻辑非: -
- 完整匹配:"关键词"
- 通配符:* ?
高级搜索
- intext
寻找正文中含有关键字的网页,例如:
intext:后台登录
将只返回正文中包含 后台登录 的网页。
- intilte
寻找标题中含有关键字的网页,例如:
intitle:后台登录
将只返回标题中包含 后台登录 的网页。
intitle:后台登录 密码
将返回标题中包含 后台登录 而正文中包含 密码 的网页。
- allintitle:
用法和intitle类似,只不过可以指定多个词,例如:
alltitle:后台登录 管理员
将返回标题中包含后台登录和管理员的网页。
- inurl:
将返回url中含有关键词的网页,例如:
inurl:Login
将返回url中含有 Login 的网页。
inurl:/admin/login.php
查找管理员登录页面
inurl:/phpmyadmin/index.php
查找后台数据库管理页面
- allinurl:
用法和inurl类似,只不过可以指定多个词,例如:
inurl:Login admin
将返回url中含有 Login 和 admin 的网页
- site:
指定访问的站点,例如:
site:baidu.com inurl:Login
将只在baidu.com 中查找url中含有 Login的网页。
- filetype:
指定访问的文件类型,例如:
site:baidu.com filetype:pdf
将只返回baidu.com站点上文件类型为pdf的网页。
- link:
指定链接的网页,例如:
link:www.baidu.com
将返回所有包含指向 www.baidu.com 的网页。
- related:
相似类型的网页,例如:
related:www.llhc.edu.cn
将返回与 www.llhc.edu.cn 相似的页面,相似指的是网页的布局相似。
更多内容参考内容来源中的链接
Shodan
Shodan工作原理
那么 Shodan 是怎么工作的呢?Shodan 通过扫描全网设备并抓取解析各个设备返回的 banner 信息,通过了解这些信息 Shodan 就能得知网络中哪一种 Web 服务器是最受欢迎的,或是网络中到底存在多少可匿名登录的 FTP 服务器,或者哪个ip对应的主机是哪种设备。
使用搜索过滤
- hostname:搜索指定的主机或域名,例如 hostname:"google"
- port:搜索指定的端口或服务,例如 port:"21"
- country:搜索指定的国家,例如 country:"CN"
- city:搜索指定的城市,例如 city:"Hefei"
- org:搜索指定的组织或公司,例如 org:"google"
- isp:搜索指定的ISP供应商,例如 isp:"China Telecom"
- product:搜索指定的操作系统/软件/平台,例如 product:"Apache httpd"
- version:搜索指定的软件版本,例如 version:"1.6.2"
- geo:搜索指定的地理位置,参数为经纬度,例如 geo:"31.8639, 117.2808"
- before/after:搜索指定收录时间前后的数据,格式为 dd-mm-yy,例如 before:"11-11-15"
- net:搜索指定的IP地址或子网,例如 net:"210.45.240.0/24"
DNS域名信息的收集
DNS域名解析过程:
1.客户机访问域名,先查看自己主机的DNS缓存(有时间限制),如果主机缓存有,则直接访问对应ip
2.如果主机 DNS 缓存没有,则查看主机的 hosts 文件,如果有,则直接访问对应ip
3.如果 hosts 文件没有,则将该请求发送给主机指定的域名服务器。
4.域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则域名服务器就直接把查询的结果返回。
5.如果本地的缓存中没有该记录,则域名服务器把请求发给根域名服务器,根域名服务器返回给域名服务器一个所查询域(根的子域)的主域名服务器的地址。
6.本地服务器向上一步返回的主域名服务器发送请求,接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级域名服务器的地址。
7.一直重复上一步,直到找到访问域名所对应的ip地址。然后DNS服务器把域名对应的ip地址发送给主机,同时DNS服务器本地保存起来。
脚本类型(php/jsp/asp/aspx)
1.可以根据网站URL来判断
2.site:xxx filetype:php
3.可以根据Firefox的插件来判断
服务器类型(Linux/Windows)
判断是Linux还是Windows最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。
而判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来。
网站容器(Apache/Nginx/Tomcat/IIS)
我们就需要知道网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。
数据库类型(Mysql/Oracle/Accees/Mqlserver)
常见搭配:
- ASP 和 ASPX:ACCESS、SQL Server
- PHP:MySQL、PostgreSQL
- JSP:Oracle、MySQL
知识杂项:
- mdb文件:微软办公系列Access的文件,mdb作为Access数据库的一种文件储存格式,通常会直接用Access打开,其实用Excel也支持打开mdb文件。
- DNS(Domain Name Service): 域名解析服务,就是将域名和ip之间做相应的转换,利用TCP和UDP的53号端口。
- SPF(Sender Policy Framework):一种以IP地址认证电子邮件发件人身份的技术。 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
DNS系统作用:- 正向解析:根据域名查找对应的ip地址
- 反向解析:根据ip地址查找对应的域名
- PHP
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C、Java 和 Perl 语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。PHP脚本语言的文件后缀名是 .php - JSP
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是JSP,JavaServerPage。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。JSP脚本语言的文件后缀名是 .jsp - ASP
ASP全名ActiveServerPages,是MicroSoft公司开发的服务器端脚本环境,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Javascript)作为自己的开发语言。asp文件后缀名是 .asp - ASP.NET
ASP.net又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。他不是asp的简单升级,因为他的编程方法和asp有很大的不同,他是在服务器端靠服务器编译执行的程序代码。ASP 使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET 则可以使用多种语言编写,而且是全编译执行的,比ASP 快,而且,不仅仅是快的问题,有很多优点。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。 他还支持很多语言的编写,比如java、c#、vb.net ,功能很强。 asp.net的文件后缀名是 .aspx - Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名: .mdb 一般是asp的网页文件用access数据库
- SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf
- MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306
- Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521
内容来源:
渗透测试之信息收集
Google Hacking的用法
Shodan的使用
Linux中搭建DNS服务器
DNS信息探测、IP转换经纬度
网站指纹识别工具Whatweb的使用
php、jsp、asp和aspx的区别