WEB安全-信息收集


WEB 安全之信息收集

概述

对于 WEB 渗透测试来说,信息收集是第一步,也是至关重要不可忽略的一步,说是对渗透的结果起到决定性作用也不为过。
本文将结合笔者以往信息收集的经验,综合介绍在进行 WEB 渗透测试时,需要收集哪些信息,以及各种信息收集的方法。

需要收集哪些信息

对于以下的信息,收集的越详细越好

  • 域名、子域名
  • Whois 信息
  • IP
  • DNS 信息
  • 开放的端口及运行的服务
  • 服务器操作系统
  • 服务器类型
  • 开发语言
  • 开发框架
  • 网站架构
  • CMS 类型
  • CDN 类型
  • WAF 类型
  • 网站目录
  • 同 IP 网站
  • SSL 证书

收集方法

域名、子域名

收集方法

  • 搜索引擎【site:xxx.com】
  • IP 反查域名
  • SSL 查询子域名
  • DNS 记录查询子域名
  • 子域名枚举

工具

Whois 信息查询

IP

查网站 IP

查 IP 详细信息

DNS 信息

在线查询

本地查询

  • nslookup 域名
  • CNAME 查询
nslookup -qt=cname 域名

开放的端口及运行的服务

查询工具

  • Nmap
  • Masscan
  • Zmap

使用教程

服务器操作系统

服务器常用操作系统

  1. Linux 系列
    • Centos
    • Ubuntu
    • Debian
    • Fedora
    • ArchLinux
    • OpenSUSE
    • EulerOS
    • openEuler
  2. Windows 系列
    • Windows server 2003
    • Windows server 2008
    • Windows server 2012
    • Windows server 2016
    • Windows server 2019

鉴别方法

  1. Nmap 扫描
# 操作系统指纹识别
nmap -O IP

# smb-os-discovery.nse:这个脚本会基于SMB协议去判别操作系统,主机名,域名,工作组和当前的时间
nmap IP -p 139,445 --script=smb-os-discovery.nse

服务器类型

常见服务器类型

  1. Nginx
  2. Apache
  3. Tomcat
  4. Microsoft IIS

鉴别方法

  1. 错误页面信息
  2. HTTP 响应头信息
  3. HTTP 头字段顺序
  4. 畸形的请求测试

测试工具

开发语言

识别方法

  1. URL 后缀

    后缀名称 编程语言
    .php PHP
    .do Java
    .asp ASP
    .aspx ASP.NET
    .jsp JAVA
  2. 根据开发框架识别

网站架构

  1. 前后端分离
  2. CDN 集群

CMS 类型

识别方法

  1. 网页结构特征
  2. 网页代码注释
  3. 网页关键字
  4. URL 特征
  5. favicon.ico

识别工具

CDN 类型

识别方法

  • 查询 DNS 记录
  • 利用“全球 Ping”,查看 IP 归属
  • HTTP 响应头信息

识别工具

WAF 类型

识别方法

  • 拦截页面的特征【看图识 WAF
  • Cookie 值
  • HTTP 响应头

识别工具

nmap --script==http-waf-fingerprint
nmap --script=http-waf-detect
  • Sqlmap
python sqlmap.py -u "http://xxxx.com" --identify-waf

网站目录

收集方法

  1. 搜索引擎
inurl:mysite.com
  1. 爬虫
  2. 信息泄露(开源、Github 搜索)
  3. 目录遍历漏洞
  4. 字典扫描

常用工具

同 IP 网站

查询工具

SSL 证书

查询工具

Censys


文章作者: Truda
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Truda !
评论
  目录