渗透测试 | 基于不同方式对目标网站进行CMS信息收集
字数 1679 2025-09-01 11:25:54
CMS信息收集渗透测试教学文档
实验目的
理解和掌握如何基于主动方式和被动方式对目标网站进行CMS(内容管理系统)信息收集。
核心知识点
- WhatWeb工具的使用
- 主动信息收集方式
- 被动信息收集方式
实验原理
WhatWeb工具特性
- 插件扩展:支持检测特定类型的应用程序,可通过
--plugins参数查看所有可用插件 - 脚本自定义:允许渗透测试人员自行添加识别规则,提高工具的适用性和准确性
- 识别方式:通过分析网站的各种特征(如HTTP头、HTML内容、特定文件等)来识别CMS类型和版本
实验环境
硬件配置
- 服务器:
- Windows Server 2008 (1台)
- Windows Server 2016 (1台)
- CentOS 7 (2台)
- 网络设备:
- 防火墙 (1台)
- 交换机 (2台)
- 路由器 (1台)
- 攻击机:
- Kali Linux (1台)
软件工具
- WhatWeb (Kali Linux内置工具)
实验预期
能够分别基于主动和被动方式收集目标系统各网站所使用的CMS版本信息。
实验思路
-
主动方式:
- 使用WhatWeb工具直接扫描门户网站1服务器8080端口
- 使用WhatWeb工具直接扫描门户网站2服务器80端口
-
被动方式:
- 收集门户网站1服务器80端口的CMS信息
- 收集门户网站3服务器8080端口的CMS信息
详细实验步骤
1. 基于主动收集方式使用WhatWeb工具
-
登录Kali Linux攻击机
- 用户名:root
- 密码:com.1234
-
打开终端
- 右键单击桌面空白处
- 选择"Open Terminal Here"选项
-
使用WhatWeb进行主动扫描
- 基本命令格式:
whatweb [目标URL] - 扫描门户网站1(8080端口):
whatweb http://目标IP:8080 - 扫描门户网站2(80端口):
或明确指定端口:whatweb http://目标IPwhatweb http://目标IP:80
- 基本命令格式:
-
高级参数使用
- 查看所有可用插件:
whatweb --plugins - 使用特定插件扫描:
whatweb --plugins=插件名 目标URL - 提高扫描强度(更详细但更慢):
whatweb -a 3 目标URL - 输出结果到文件:
whatweb 目标URL -v --log-xml=output.xml
- 查看所有可用插件:
2. 基于被动收集方式
被动信息收集不直接与目标系统交互,而是通过以下方法:
-
搜索引擎技术
- 使用Google搜索特定语法:
site:目标域名 filetype:php inurl:wp-content
- 使用Google搜索特定语法:
-
在线CMS识别工具
- 使用如Wappalyzer、BuiltWith等在线服务
- 访问这些网站并输入目标URL
-
查看网页源代码
- 通过浏览器查看页面源代码
- 搜索常见CMS标识如:
- WordPress:
/wp-content/,wp-json - Joomla:
/media/system/,index.php?option=com_ - Drupal:
/sites/default/,?q=user/register
- WordPress:
-
检查robots.txt文件
- 访问
http://目标域名/robots.txt - 查找CMS特有的路径
- 访问
-
检查常见文件和目录
- 访问CMS特有的文件如:
- WordPress:
/wp-admin/,/wp-login.php - Joomla:
/administrator/ - Drupal:
/CHANGELOG.txt
- WordPress:
- 访问CMS特有的文件如:
结果分析
WhatWeb输出示例:
http://example.com [200 OK] Apache[2.4.41], Country[UNITED STATES][US], HTTPServer[Ubuntu Linux][Apache/2.4.41 (Ubuntu)], IP[192.168.1.1], WordPress[5.4.2]
关键信息包括:
- HTTP状态码
- Web服务器类型和版本
- 操作系统信息
- CMS类型和版本
- IP地址和地理位置
注意事项
- 法律合规:必须获得授权后才能对目标进行扫描
- 扫描强度:避免使用过高强度的扫描,可能导致目标服务中断
- 隐蔽性:主动扫描容易被目标系统检测到
- 结果验证:CMS识别结果可能需要手动验证
- 版本准确性:某些CMS可能经过修改或隐藏版本信息
扩展技巧
- CMS漏洞关联:识别CMS版本后,可查询该版本的已知漏洞
- 指纹库更新:定期更新WhatWeb的插件和指纹库
- 多工具验证:使用多种工具交叉验证结果
- 历史记录检查:通过Wayback Machine等查看历史版本信息
- API端点检查:检查CMS特有的API端点获取版本信息
免责声明
- 本文所提供的技术信息仅供参考,不构成任何专业建议
- 读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》
- 作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责