从“空白页”到突破口:渗透测试中的信息发现七种思路
字数 3071 2025-10-01 14:05:44

渗透测试信息发现:从“空白页”到突破口的七种核心思路

文档说明:本文档旨在系统化地阐述在面对看似无信息的“空白页”时,渗透测试人员应遵循的七种关键信息发现思路。每种思路均包含方法、工具及实战案例,旨在最大化攻击面,发现隐藏漏洞。


一、目录/文件扫描

核心思路:使用自动化工具系统性地枚举Web服务器上可能存在但未链接的目录和文件,这些往往是未被注意的管理入口、配置文件或备份文件。

  • 方法
    1. 使用自动化扫描工具(如 dirsearch, gobuster, dirb, Tscan)并搭配强大的字典进行爆破。
    2. 重点关注常见但敏感的路径。
  • 关键目标
    • 目录: /admin, /login, /api, /test, /console, /uploads
    • 文件: robots.txt, .git/ (Git源码泄露), .env (环境配置文件), web.config, phpinfo.php, 备份文件(.zip, .bak, .tar.gz)
  • 工具:dirsearch, gobuster, Tscan
  • 案例:直接访问目标域名返回404空白页。使用dirsearch扫描后,发现存在 /admin 路径,访问后成功定位到网站后台登录界面,为后续爆破或漏洞利用提供了入口。

二、指纹识别

核心思路:识别目标网站使用的技术栈(CMS、框架、中间件、服务器软件等),从而利用其已知漏洞(Nday)或进行针对性代码审计。

  • 方法
    1. 使用指纹识别工具对目标URL进行探测。
    2. 分析HTTP响应头(如 Server, X-Powered-By)、特定文件(如 favicon.ico、默认CSS/JS文件)的哈希值、以及特定页面的关键字。
  • 关键目标:识别出诸如 ThinkPHP, Spring Boot, WordPress, XXL-Job, Shiro 等特定框架或系统。
  • 工具:ehole, Tscan, Wappalyzer, WhatWeb
  • 案例:通过Tscan识别出目标站点使用 XXL-Job(一个分布式任务调度平台)。直接拼接其默认后台路径 /xxl-job-admin/toLogin 成功访问,随后可测试默认弱口令或已知漏洞。

三、Favicon.icon 哈希搜索

核心思路:网站的favicon.ico图标通常具有唯一性,其哈希值可用于在互联网空间测绘引擎中搜索使用相同图标的所有资产,从而发现关联系统、测试环境等隐藏资产。

  • 方法
    1. 访问目标网站的 /favicon.ico 路径下载图标文件。
    2. 计算该文件的哈希值(如MMH3哈希)。
    3. 将该哈希值作为特征,在空间测绘引擎(如 FOFA, Hunter, Shodan)中进行搜索。
  • 关键语法:在FOFA或Hunter中使用 icon_hash="-xxxxxx" 语法进行搜索。
  • 工具:FOFA, Hunter(鹰图), Shodan
  • 案例:从目标主站下载favicon.ico并计算其哈希值为 -123456789。在FOFA中搜索 icon_hash="-123456789",发现了一个未在主域名下链接的测试环境系统(如 test.example.com),该系统存在未修复的已知漏洞。

四、域名拼接

核心思路:分析目标的域名结构,尝试将子域名或其关键部分作为路径拼接到主域名后进行访问,常用于发现基于域名逻辑划分的目录。

  • 方法
    1. 收集目标的子域名(如 dev.example.com, blog.example.com)。
    2. 将子域名的主体部分(如 dev, blog)作为路径拼接到根域名后(如 example.com/dev, example.com/blog)。
  • 关键目标:开发(dev)、测试(test)、预发布(staging)、博客(blog)、移动端(m)等常见子域名字段。
  • 案例:发现子域名 h.magzine.example.com。尝试访问 example.com/magzine,成功跳转到一个未公开的杂志内容管理页面,该页面存在一个未授权的文件上传功能。

五、前端路由分析

核心思路:针对采用现代前端框架(如 Vue, React, Angular)开发的单页面应用(SPA),其路由由前端JavaScript管理。通过分析JS代码可以发现隐藏的路由和功能模块。

  • 方法
    1. 检查网站加载的主要JS文件(如 app.js, main.js, chunk-xxx.js)。
    2. 在开发者工具(F12)的Source或Network面板中查看、搜索或全局搜索JS代码。
    3. 搜索路由定义关键字,如 path:, routes:, /login, /admin
  • 关键技巧:发现路由后,在原URL后拼接 #/route#/login(对于Vue Router的hash模式)进行访问。
  • 工具:浏览器开发者工具
  • 案例:目标首页为空白,查看JS文件发现前端路由配置中定义了 path: '/internal-admin'。直接访问 https://target.com/#/internal-admin 后成功进入一个隐藏的管理后台。

六、JS文件接口泄露

核心思路:前端JavaScript代码中常常硬编码了大量的API接口地址、API密钥、加密密钥等敏感信息。提取并测试这些接口可能存在未授权访问、越权等漏洞。

  • 方法
    1. 手动分析或使用自动化工具提取JS文件中的所有接口端点(URL)。
    2. 重点关注以下信息:
      • 完整的API URL(尤其是包含敏感操作的,如 /api/user/list, /api/delete)。
      • 接口参数格式。
      • API Keys, AWS密钥, 加密密钥等。
  • 工具findsomething, JSFinder, LinkFinder, 浏览器开发者工具(搜索功能)
  • 案例:使用findsomething分析目标JS文件,提取出一个用户信息列表接口 /api/v1/users。直接通过浏览器访问该接口,返回了所有用户的敏感信息(姓名、邮箱、手机号),存在严重的未授权访问漏洞。

七、历史记录与备份信息

核心思路:通过搜索互联网上的历史存档、备份文件、代码仓库记录,发现已被删除、隐藏或错误配置的敏感信息、源代码和旧版本资产。

  • 方法
    1. 搜索引擎技巧:使用Google Hacking语法搜索特定站点的敏感文件。
      • site:example.com filetype:bak
      • site:example.com intitle:"index of" .env
      • site:example.com "index of" /backup
    2. GitHub信息收集:使用工具自动化搜索Github上泄露的代码、配置文件、数据库密码、服务器连接信息等。
  • 工具GoogleGitDorker、GSIL、GitHub自身搜索
  • 案例:使用GitDorker工具,配合针对宝塔面板的dork语法,成功在GitHub上找到一个泄露的 wwwroot.zip 备份文件。解压后发现了宝塔面板的默认认证文件,从而获取了服务器的宝塔登录账号和密码,成功接管了服务器上的多个网站。

渗透测试信息发现:从“空白页”到突破口的七种核心思路 文档说明 :本文档旨在系统化地阐述在面对看似无信息的“空白页”时,渗透测试人员应遵循的七种关键信息发现思路。每种思路均包含方法、工具及实战案例,旨在最大化攻击面,发现隐藏漏洞。 一、目录/文件扫描 核心思路 :使用自动化工具系统性地枚举Web服务器上可能存在但未链接的目录和文件,这些往往是未被注意的管理入口、配置文件或备份文件。 方法 : 使用自动化扫描工具(如 dirsearch , gobuster , dirb , Tscan )并搭配强大的字典进行爆破。 重点关注常见但敏感的路径。 关键目标 : 目录 : /admin , /login , /api , /test , /console , /uploads 文件 : robots.txt , .git/ (Git源码泄露), .env (环境配置文件), web.config , phpinfo.php , 备份文件(.zip, .bak, .tar.gz) 工具 :dirsearch, gobuster, Tscan 案例 :直接访问目标域名返回404空白页。使用dirsearch扫描后,发现存在 /admin 路径,访问后成功定位到网站后台登录界面,为后续爆破或漏洞利用提供了入口。 二、指纹识别 核心思路 :识别目标网站使用的技术栈(CMS、框架、中间件、服务器软件等),从而利用其已知漏洞(Nday)或进行针对性代码审计。 方法 : 使用指纹识别工具对目标URL进行探测。 分析HTTP响应头(如 Server , X-Powered-By )、特定文件(如 favicon.ico 、默认CSS/JS文件)的哈希值、以及特定页面的关键字。 关键目标 :识别出诸如 ThinkPHP, Spring Boot, WordPress, XXL-Job, Shiro 等特定框架或系统。 工具 :ehole, Tscan, Wappalyzer, WhatWeb 案例 :通过Tscan识别出目标站点使用 XXL-Job (一个分布式任务调度平台)。直接拼接其默认后台路径 /xxl-job-admin/toLogin 成功访问,随后可测试默认弱口令或已知漏洞。 三、Favicon.icon 哈希搜索 核心思路 :网站的favicon.ico图标通常具有唯一性,其哈希值可用于在互联网空间测绘引擎中搜索使用相同图标的所有资产,从而发现关联系统、测试环境等隐藏资产。 方法 : 访问目标网站的 /favicon.ico 路径下载图标文件。 计算该文件的哈希值(如MMH3哈希)。 将该哈希值作为特征,在空间测绘引擎(如 FOFA, Hunter, Shodan)中进行搜索。 关键语法 :在FOFA或Hunter中使用 icon_hash="-xxxxxx" 语法进行搜索。 工具 :FOFA, Hunter(鹰图), Shodan 案例 :从目标主站下载favicon.ico并计算其哈希值为 -123456789 。在FOFA中搜索 icon_hash="-123456789" ,发现了一个未在主域名下链接的测试环境系统(如 test.example.com ),该系统存在未修复的已知漏洞。 四、域名拼接 核心思路 :分析目标的域名结构,尝试将子域名或其关键部分作为路径拼接到主域名后进行访问,常用于发现基于域名逻辑划分的目录。 方法 : 收集目标的子域名(如 dev.example.com , blog.example.com )。 将子域名的主体部分(如 dev , blog )作为路径拼接到根域名后(如 example.com/dev , example.com/blog )。 关键目标 :开发(dev)、测试(test)、预发布(staging)、博客(blog)、移动端(m)等常见子域名字段。 案例 :发现子域名 h.magzine.example.com 。尝试访问 example.com/magzine ,成功跳转到一个未公开的杂志内容管理页面,该页面存在一个未授权的文件上传功能。 五、前端路由分析 核心思路 :针对采用现代前端框架(如 Vue, React, Angular)开发的单页面应用(SPA),其路由由前端JavaScript管理。通过分析JS代码可以发现隐藏的路由和功能模块。 方法 : 检查网站加载的主要JS文件(如 app.js , main.js , chunk-xxx.js )。 在开发者工具(F12)的Source或Network面板中查看、搜索或全局搜索JS代码。 搜索路由定义关键字,如 path: , routes: , /login , /admin 。 关键技巧 :发现路由后,在原URL后拼接 #/route 或 #/login (对于Vue Router的hash模式)进行访问。 工具 :浏览器开发者工具 案例 :目标首页为空白,查看JS文件发现前端路由配置中定义了 path: '/internal-admin' 。直接访问 https://target.com/#/internal-admin 后成功进入一个隐藏的管理后台。 六、JS文件接口泄露 核心思路 :前端JavaScript代码中常常硬编码了大量的API接口地址、API密钥、加密密钥等敏感信息。提取并测试这些接口可能存在未授权访问、越权等漏洞。 方法 : 手动分析或使用自动化工具提取JS文件中的所有接口端点(URL)。 重点关注以下信息: 完整的API URL(尤其是包含敏感操作的,如 /api/user/list , /api/delete )。 接口参数格式。 API Keys, AWS密钥, 加密密钥等。 工具 : findsomething , JSFinder , LinkFinder , 浏览器开发者工具(搜索功能) 案例 :使用findsomething分析目标JS文件,提取出一个用户信息列表接口 /api/v1/users 。直接通过浏览器访问该接口,返回了所有用户的敏感信息(姓名、邮箱、手机号),存在严重的未授权访问漏洞。 七、历史记录与备份信息 核心思路 :通过搜索互联网上的历史存档、备份文件、代码仓库记录,发现已被删除、隐藏或错误配置的敏感信息、源代码和旧版本资产。 方法 : 搜索引擎技巧 :使用Google Hacking语法搜索特定站点的敏感文件。 site:example.com filetype:bak site:example.com intitle:"index of" .env site:example.com "index of" /backup GitHub信息收集 :使用工具自动化搜索Github上泄露的代码、配置文件、数据库密码、服务器连接信息等。 工具 : Google 、 GitDorker 、GSIL、GitHub自身搜索 案例 :使用GitDorker工具,配合针对宝塔面板的dork语法,成功在GitHub上找到一个泄露的 wwwroot.zip 备份文件。解压后发现了宝塔面板的默认认证文件,从而获取了服务器的宝塔登录账号和密码,成功接管了服务器上的多个网站。