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

      前言

          信息收集对于渗透测试来说,是渗透前期所要做的准备,正所谓“知己知彼百战百胜”,正因为我们掌握了目标做够多的信息,才能更好的保障其安全性。

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

     1. 主动信息收集:通过直接访问、扫描网站,这种流量将流经网站。

     2. 被动信息收集:利用第三方的服务对目标进行访问了解,比例:Google搜索、Shodan搜索等。

     

    、域名信息的收集

     

           当我们确定了要渗透的目标,也就是知道了其域名,接下来我们需要收集域名对应的 ip,域名的whois信息、子域名等等一系列与域名相关的信息。

           判断域名对应的IP:首先,我们要判断该域名是否存在CDN的情况,我们可以去在线CDN查询网站:http://ping.chinaz.com/   。如果查询出的ip数量大于一个的话,则说明该ip地址不是真实的服务器地址。以我的经验来看,如果是2个或者3个,并且这几个地址是同一地区的不同运营商的话,则很有可能这几个地址是服务器的出口地址,该服务器在内网中,通过不同运营商NAT映射供互联网访问,同时采用几个不同的运营商可以负载均衡和热备份。如果是多个ip地址,并且这些ip地址分布在不同地区的话,则基本上可以断定就是采用了CDN了。

           域名的whois信息:whois是用来查询域名注册所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令行接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令行接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。

           通常,我们进行whois查询是去: 站长之家whois查询  。然后查出来信息之后,可以根据查询出来的邮箱、注册人、公司、电话等进行反查。

    二、Google语法收集

     

    1) intitle:表示搜索在网页标题中出现第一个关键词的网页。

    2) inurl:返回网页链接中包含的第一个关键字的网页。

    3) intext:返回网页文本中出现关键字的网页。

    4) site:某个特定的网站中搜索。

    5) filetype:搜索特定拓展名的文件(.doc .pdf .txt)

    三、网站指纹识别

     

          在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。CMS又称整站系统。常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver、AspCMS、帝国、Z-Blog等。

    常见的网站指纹识别工具有:whatweb等。

    在线指纹识别网站:

    BugScaner:http://whatweb.bugscaner.com/look/

    云悉指纹:http://www.yunsee.cn/finger.html

    WhatWeb:https://whatweb.net/

     

    四、 整站分析

    1.服务器类型(Linux/Windows)

    判断是Linux还是Windows最简单就是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。但是,通过TTL值来判断服务器类型也不是百分之百准确的,有些windows服务器的TTL值也是几十,而且有的服务器禁止ping。也可以通过Nmap进行扫描。

    2.网站容器(Apache/Nginx/Tomcat/IIS)

    需要知道网站用的web服务器是什么类型的:Apache、Nginx、Tomcat 还是 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本,因为知道了网站容器是那种类型后,我们可以根据服务器版本,查询是否出现过漏洞,然后可以进行验证。

    3.脚本类型(php/jsp/asp/aspx)

    我们需要知道网站用的脚本类型,我们可以用一下方法。

    1)可以根据网站URL来判断;

    2)可以用google 语法来判断;

    3)可以根据Firefox的插件来判断;

    4)可以用burpsuite请求包来判断。 

    4.数据库类型(Mysql/Oracle/Accees/Mqlserver)

    1)根据网页编程语言去判断

    ASP和.NET:Microsoft SQL Server

    PHP:MySQL、PostgreSQL

    Java:Oracle、MySQL

    以上是常见的搭配(仅供参考)。

    2)根据数据库报错判断

    输入单引号报错

    mysql:

    error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

    这个已经很明显了,有mysql这个关键字

    mssql:

    Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1

    因为mssql是微软公司的,里面出现微软的英文名字Microsoft还有ODBC也是mssql特有的。

    ORA的是ORACLE。

    其实发现报错丢到搜索引擎里面去搜一下就知道是什么类型了。

    人生得意须尽 莫使金樽空对月
  • 相关阅读:
    linq的多表查询
    markdown语法
    遍历Hashtable、IDictionary、Dictionary<string, string>
    DOS修改文件夹权限
    kangle 3.2.0 发布,国产开源web服务器
    nat上传文件到google
    黄聪:C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件,有图解
    UltiDev Web Server Pro
    vs2010 命令行下用 msbuild 发布web站点
    asp.net重启网站
  • 原文地址:https://www.cnblogs.com/puhk/p/12532351.html
Copyright © 2011-2022 走看看