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。

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

    人生得意须尽 莫使金樽空对月
  • 相关阅读:
    LeetCode Path Sum II
    LeetCode Longest Palindromic Substring
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Binary Tree Maximum Path Sum
    LeetCode Find Peak Element
    LeetCode Maximum Product Subarray
    LeetCode Intersection of Two Linked Lists
    一天一个设计模式(1)——工厂模式
    PHP迭代器 Iterator
  • 原文地址:https://www.cnblogs.com/puhk/p/12532351.html
Copyright © 2011-2022 走看看