zoukankan      html  css  js  c++  java
  • 渗透测试之信息收集

    信息收集

    信息收集的方式可以分为两种:主动和被动。

    • 主动信息收集:通过直接访问、扫描网站,这种流量将流经网站。
    • 被动信息收集:利用第三方的服务对目标进行访问了解,比例: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的区别

  • 相关阅读:
    bootstrap如何设置每一个选项卡对应一个页面
    SpringBoot集成百度UEditor图片上传后直接访问404解决办法
    从0开始完成SpringBoot+Mybatis实现增删改查
    Luarocks 安装艰难过程
    [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)')))
    python + selenium 搭建环境步骤
    mongodb的安装
    git-新建git用户流程-1
    git-关联远程git仓库详细步骤-2
    Django启动服务的流程
  • 原文地址:https://www.cnblogs.com/luoleqi/p/10845864.html
Copyright © 2011-2022 走看看