公司动态

Web 渗透信息收集实战:站点指纹识别与目录扫描

📅 2026/7/15 21:01:19
Web 渗透信息收集实战:站点指纹识别与目录扫描
Web 渗透信息收集实战站点指纹识别与目录扫描前言实验环境说明1. 站点指纹识别1.1 什么是站点指纹1.2 指纹识别能拿到什么信息1.3 浏览器插件识别最简单1.4 命令行工具批量识别1.5 手动识别1.6 指纹识别的常见坑2. 网站目录扫描全部基于 Vulhub 本地靶场实操2.1 目录扫描基础概念2.2 实验环境启动对应你截图 Vulhub ThinkPHP5 靶场2.3 目录扫描工具Dirsearch 实操2.3.1 工具介绍2.3.2 基础扫描命令2.3.3 常用拓展参数靶场优化扫描2.3.4 扫描结果判断标准2.4 御剑目录扫描工具2.4.1 工具介绍2.4.2 基本操作2.4.3 字典替换与扩展2.5 FindSomething浏览器被动信息提取插件2.5.1 工具基础介绍2.5.2 安装和使用方式本章总结下章预告前言在 Web 渗透测试的完整流程中信息收集是第一步也是决定后续渗透效率的关键环节。拿到一个目标站点后先摸清它用了什么 CMS、跑在什么中间件上、有哪些隐藏目录和接口远比一上来就盲目扫漏洞、跑工具要高效得多。上一篇我们讲了企业级信息收集——从主域名、备案信息、子域名到企业主体解决的是目标有哪些资产的问题。这一篇我们往下钻一层聚焦到具体的 Web 站点本身当你已经拿到一个域名如何进一步摸清这个网站的技术栈、目录结构和接口信息为后续的漏洞挖掘和权限获取铺路。读完本文你将掌握3 种指纹识别方法3 款目录扫描工具1 款被动信息提取插件的使用能够独立完成对单个 Web 站点的技术侦察。实验环境说明操作系统Kali Linux WhatWeb、Dirsearch 自带或可直接安装靶场环境Vulhub ThinkPHP 5 RCE 靶场本地 Docker 部署浏览器Chrome / Edge / Firefox 均可前置条件了解基本 HTTP 协议、会使用基础 Linux 命令⚠️合规声明本文所有内容仅用于授权范围内的安全测试与学习研究请勿对任何未授权的网站执行扫描、探测或信息收集操作。所有实验请在本地靶场或已获得书面授权的环境中进行遵守《网络安全法》及相关法律法规。1. 站点指纹识别1.1 什么是站点指纹简单说站点指纹就是一个网站的“技术身份证”。每个网站用的 CMS、框架、中间件、前端组件都不一样会在页面源码、HTTP 响应头、特定路径里留下独特的特征——这些特征组合起来就是这个网站的指纹。为什么要识别指纹知道用的什么 CMS直接去搜对应版本的已知漏洞知道中间件版本判断有没有可利用的 CVE知道前端框架和开发语言缩小后续测试范围少走弯路1.2 指纹识别能拿到什么信息类型常见内容渗透价值CMS 类型WordPress、Discuz、ThinkPHP、DedeCMS直接匹配已知漏洞、后台默认路径Web 框架Spring Boot、Django、Flask、Laravel对应框架的常见漏洞、配置文件路径中间件Nginx、Apache、IIS、Tomcat版本对应解析漏洞、配置漏洞前端组件jQuery、Vue、React、Bootstrap组件版本 XSS、原型链污染等开发语言PHP、Java、Python、ASPX决定后续 Payload 类型、上传绕过思路1.3 浏览器插件识别最简单工具WappalyzerWappalyzer 是一款跨浏览器的指纹识别插件内置上千种 Web 技术的指纹规则打开网页就能自动识别站点的技术栈。适用场景快速浏览目标站点时顺手查看零成本获取基础技术栈信息。安装与使用步骤Chrome / Firefox / Edge 插件商店直接搜索 “Wappalyzer” 安装打开目标网站点击浏览器工具栏上的 Wappalyzer 图标插件会自动展示识别结果CMS、中间件、前端库、服务器信息等优缺点✅ 优点零门槛打开网页就能看不产生额外请求❌ 缺点信息粒度有限部分站点识别不出来版本信息可能不准确1.4 命令行工具批量识别工具WhatWebWhatWeb 是一款开源的网站指纹识别工具Kali Linux 自带也可独立安装。它内置上千种指纹规则能识别 CMS、中间件、操作系统、脚本语言等多种信息。适用场景批量扫描多个目标、需要更详细的指纹信息时使用。基础命令whatweb csdn.net它会自动去匹配几百种指纹规则输出 CMS、中间件、操作系统、脚本语言等信息。常用参数表格参数作用说明-v详细输出展示更完整的匹配过程和识别细节-a 3高强度扫描发起更多请求识别更精准但更容易被 WAF 拦截-i从文件读取目标支持批量扫描多个域名注意高强度扫描会发起大量请求仅限授权靶场使用不要扫外网。1.5 手动识别打开目标网页按下键盘F12调出浏览器开发者工具切换至「网络 (Network)」面板按F5刷新页面加载全部请求。在左侧请求列表选中第一条document类型的主网站域名请求。右侧面板切换到「标头」选项卡下滑查看响应标头板块读取Server字段识别中间件、WAF 设备查看X-Powered-By等自定义字段判断后端脚本语言。切换至「源代码」面板使用快捷键CtrlF检索关键词thinkphp/dede/wp-content匹配 CMS 系统django/spring匹配后端开发框架jquery/vue识别前端组件版本。筛选 Network 面板内 JS 文件查看脚本内容提取接口路径、项目版本特征。访问网站不存在的随机路径通过 404 报错页面样式、报错堆栈辅助判断框架。小技巧手动识别时至少从响应头、页面源码、报错页面三个维度交叉验证结果才可靠。合规提示以上手动分析方法仅用于查看页面公开信息请勿对未授权站点进行深度探测或漏洞扫描。1.6 指纹识别的常见坑CDN / WAF 会伪装响应头有些站点Server头写的是 Cloudflare真实中间件藏在 CDN 后面需要绕过 CDN 才能看到真实信息版本信息可能造假管理员会故意修改响应头或版本号误导测试者不能仅凭一个字段下结论识别结果仅供参考一定要交叉验证不能只靠一个工具的结果就断定技术栈本章小结指纹识别是信息收集的第一步工具 手动结合使用先把目标的技术栈摸清楚后续测试才能对症下药。推荐的组合是Wappalyzer 快速初筛 → WhatWeb 详细扫描 → 手动分析交叉验证。2. 网站目录扫描全部基于 Vulhub 本地靶场实操2.1 目录扫描基础概念目录扫描原理使用字典批量请求网站路径根据服务器返回状态码判断路径是否存在。敏感目录 / 文件价值后台登录页、数据库备份 sql、源码压缩包、配置 env 文件、上传目录。合规强调本章全部操作仅在本地 Vulhub 靶机完成禁止对外网站点爆破扫描。2.2 实验环境启动对应你截图 Vulhub ThinkPHP5 靶场你的终端路径/home/kali/vulhub/thinkphp/5-rce完整启动流程进入靶场目录cd /home/kali/vulhub/thinkphp/5-rce启动 Docker 靶场容器docker compose up -d查看靶场运行状态获取访问 IPdocker compose ps浏览器访问靶场地址如http://127.0.0.1:8080作为本次目录扫描目标。方式 1Kali 本机访问127.0.0.1仅在 Kali 系统内部浏览器可用容器映射端口直接本地回环访问http://127.0.0.1:8080方式 2物理主机Windows/Mac访问 Kali 靶场推荐实操Kali 终端输入ip a查看 Kali 本机局域网 IP示例192.168.200.131此处以你的真实地址为准物理主机浏览器输入http://192.168.200.131:80802.3 目录扫描工具Dirsearch 实操2.3.1 工具介绍Dirsearch 是一款主流 Python 目录爆破工具用于批量枚举网站后台、备份文件、敏感路径。官方开源仓库https://github.com/maurosoria/dirsearch2.3.2 基础扫描命令dirsearch -u http://127.0.0.1:8080参数解释-u指定目标网站 URL仅填写本地自有靶场地址扫描后缀php,aspx,jsp,html,js请求方式GET线程 25内置字典共 11461 条路径自动报告路径/home/kali/reports/目录下 txt 文件扫描结果全部保存状态码路径利用价值403各类.htaccess 文件路径真实存在禁止访问存在配置文件泄露风险200 /favicon.ico网站图标可用于匹配识别 ThinkPHP 框架404 /index.php/login/后台登录路径不存在无利用价值200 /robots.txt爬虫规则文件查看网站禁止对外开放的敏感目录301 /static静态资源目录真实存在跳转至静态文件夹可遍历静态资源底部Task Completed目录扫描全部执行完毕手动指定报告格式常用参数① 输出 txt默认dirsearch -u http://192.168.200.131:8080 -o report.txt② 输出 html 可视化报告推荐查看dirsearch -u http://192.168.200.131:8080 -o result.html --formathtml支持格式simple, plain, json, xml, md, csv, html, sqlite2.3.3 常用拓展参数靶场优化扫描# 指定字典、扫描备份后缀、限制线程 dirsearch -u http://127.0.0.1:8080 -t 20 -e php,txt,sql,bak-t 20-t--threads设置并发扫描线程数数值 20同时发起 20 个 HTTP 请求加快扫描速度数值越大扫描越快但容易触发服务器限流 / 403 封禁本地靶场 20 属于安全区间-e php,txt,sql,bak-e--extensions指定追加扫描的文件后缀逗号分隔工具会自动给字典内每条路径拼接这些后缀进行探测php探测网站业务源码、后台页面admin.php、login.phptxt探测说明文件、账号明文记录、robots.txtsql探测数据库备份文件网站导出的数据库脚本bak探测程序备份文件index.bak、config.bak常泄露源码2.3.4 扫描结果判断标准状态码200 OK路径真实存在优先访问后台、数据库备份文件状态码301/302页面存在跳转大概率是管理登录页面状态码403 Forbidden目录存在但服务器禁止直接访问存在进一步测试价值dirsearch -h作用打印工具全部参数说明告诉你每个参数-u/-t/-e/-w 等的功能、用法方便你写扫描命令、调整扫描规则。合规提示本节所有命令仅针对本地 Vulhub 内网靶场执行禁止对任何未授权公网网站发起目录爆破扫描。2.4 御剑目录扫描工具2.4.1 工具介绍御剑是一款国产目录扫描工具内置大量适配国内场景的字典对中文后台路径、国产 CMS 的扫描命中率较高。官方开源仓库https://github.com/foryujian/yjdirscan适用场景针对国内 CMSThinkPHP、织梦、帝国等的目录扫描Windows 环境下 GUI 操作更友好新手易上手工具优势字典适配国内场景内置大量中文后台路径、国产 CMS 专属字典针对 ThinkPHP、织梦、帝国 CMS 等 PHP 站点扫描命中率高于 Dirsearch双端兼容Windows 提供可视化 GUI 界面新手零门槛上手Linux/Kali 环境支持命令行批量扫描原生支持备份后缀探测自带中文管理目录、备份文件字典适配 Vulhub 本地 PHP 靶场练习。2.4.2 基本操作御剑采用经典的多标签页布局顶部为功能导航栏左侧为目标地址管理区中间为扫描结果展示区右侧为字典和参数配置区底部为操作按钮和进度条整体界面简洁直观新手容易上手。完整操作步骤如下启动工具下载解压后双击御剑.exe启动程序默认进入「批量扫描后台」标签页这是最常用的目录扫描功能界面。界面区域说明顶部功能区包含「开始扫描」「停止扫描」「继续扫描」「暂停扫描」四个核心操作按钮以及扫描模式、线程数、超时时间、状态码筛选等参数配置左侧地址区用于管理待扫描的目标域名列表支持批量添加多个目标中间结果区实时展示扫描发现的有效路径包含 ID、地址、HTTP 响应状态码三列右侧字典区列出内置的字典文件勾选即表示使用该字典参与扫描底部操作区「添加」「删除」「清空」三个按钮用于管理左侧的目标地址列表说明以下操作在 Windows 物理机上完成因此靶场地址使用 Kali 局域网 IP。添加目标地址与选择字典点击左下角的「添加」按钮在弹出的输入框中填入靶场地址http://192.168.200.131:8080/确认后左侧地址列表会显示该目标作业数量变为 1。右侧字典区域勾选需要使用的字典文件扫描 ThinkPHP 这类 PHP 靶场建议勾选DIR.txt通用目录字典以及 PHP 相关的备份文件、后台路径字典。参数说明扫描前可调整模式默认HEAD - 速度极快使用 HEAD 请求方式只获取响应头不下载页面内容扫描速度最快如果目标站点禁用了 HEAD 请求可以切换为 GET 模式线程默认 25 线程即同时发起 25 个 HTTP 请求本地靶场可以适当调高外网测试建议调低避免被封超时默认 5 秒单个请求超过 5 秒无响应则判定为超时跳过状态码筛选默认勾选 200 和 403即只展示状态码为 200存在和 403禁止访问的路径3xx 重定向状态码可按需勾选开始扫描点击顶部「开始扫描」按钮工具立即按照选定的字典和参数开始批量探测。扫描过程中可以观察到以下变化扫描信息栏实时显示当前正在探测的完整 URL 路径方便了解扫描进度扫描速度右侧显示每秒请求数本地靶场通常可以达到每秒几千甚至上万次请求结果列表每发现一条有效路径就会实时添加到中间的结果表格中底部进度条绿色进度条从左向右推进直观展示整体扫描进度小技巧扫描过程中可以随时点击「暂停扫描」临时中断之后点击「继续扫描」从中断处接着扫不用从头开始。如果发现目标站点开始返回 403 或连接超时说明可能被 WAF 封禁了及时点击「停止扫描」等一段时间后降低线程数再试。查看与验证扫描结果扫描完成后底部绿色进度条走满扫描信息栏显示「扫描完成…」中间结果表格会列出所有探测到的有效路径。结果列表解读字段说明ID路径的发现顺序编号地址探测到的完整 URL 路径HTTP 响应该路径返回的 HTTP 状态码常见状态码含义200路径真实存在且可正常访问优先关注后台、备份文件等高价值路径403路径存在但服务器禁止访问说明目录是真实的可能存在配置文件泄露风险301/302路径存在跳转通常是重定向到登录页或其他页面验证扫描结果在结果列表中双击任意一条记录会自动调用系统默认浏览器打开该路径直接在浏览器中验证页面内容是否符合预期。下图为双击index.php后在浏览器中打开的 ThinkPHP 5 默认欢迎页面说明扫描结果准确有效预期结果总结扫描结束后工具会列出所有探测到的有效路径包含完整 URL 和对应状态码可直接双击跳转验证。根据扫描结果可以进一步筛选出后台入口、备份文件、配置文件等高价值路径为后续的漏洞测试提供目标。2.4.3 字典替换与扩展御剑的字典文件存放在安装目录下的字典文件夹中可以直接替换或添加自定义字典字典优化建议根据目标 CMS 类型添加对应框架的专属字典提高命中率平时收集到的敏感路径、后台地址及时补充到字典中不同场景使用不同字典通用扫描用小字典速度快深度测试用大字典覆盖全2.5 FindSomething浏览器被动信息提取插件2.5.1 工具基础介绍开源仓库https://github.com/momosecurity/FindSomething由陌陌安全momosecurity开源维护是一款 Chrome / Firefox / Edge 跨浏览器扩展工具。核心定位区分 dirsearch、御剑dirsearch、御剑属于主动爆破工具主动发包猜路径FindSomething 属于被动信息收集工具仅解析当前页面源码、JS、网络请求不主动发送额外请求不会对目标产生流量压力。2.5.2 安装和使用方式将下载好的文件夹进行解压然后进入Edge浏览器的扩展界面选择管理扩展打开开发者模式点击加载解压缩的扩展选中刚刚解压的文件夹然后我们就可以看到扩展被添加了点击工具栏 FindSomething 图标插件自动解析页面全部资源在面板分类查看提取内容支持一键复制单条 URL、批量导出结果把提取到的隐藏接口、未公开路径补充到 dirsearch / 御剑 字典再次扫描大幅降低漏扫本章总结到这里站点层面的信息收集就告一段落了。我们从最基础的指纹识别开始用浏览器插件、命令行工具、手动分析三种方式摸清了目标站点的身份——它用了什么 CMS、跑在什么中间件上、后端是什么语言。接着通过Dirsearch、御剑等目录扫描工具在 Vulhub ThinkPHP 5 靶场上实战演练了如何发现隐藏的目录、后台入口和敏感文件。最后用FindSomething这类被动扫描插件在不触发告警的前提下补充了更多接口和资源信息。序号核心要点关键说明1指纹识别交叉验证不可仅依赖单一工具结果需从响应头、页面源码、报错页面三个维度交叉确认技术栈避免因CDN、WAF伪装或版本信息造假导致误判2目录扫描字典适配按场景选择对应字典通用扫描用小字典提升速度深度测试用大字典扩大覆盖范围针对国产CMS需搭配专属中文字典提高命中率3主动被动结合扫描主动扫描Dirsearch/御剑效率高、覆盖广被动收集FindSomething隐蔽性强、无额外流量两者配合可大幅降低漏扫概率4扫描节奏合理控制并发线程过高易触发WAF封禁外网测试建议低线程慢扫本地授权靶场可适当调高线程提升扫描效率适用边界与注意事项本文介绍的方法主要适用于传统 Web 应用对 SPA 单页应用、前后端完全分离的站点目录扫描的效果会打折扣如果目标站点使用了 CDN指纹识别和目录扫描的结果可能不准确需要先绕过 CDN 找到真实源站目录扫描存在漏报是正常现象字典质量、目标站点的 WAF 策略、服务器配置都会影响最终结果下章预告但这还不够。知道了网站长什么样我们还得知道它跑在什么机器上——服务器是什么操作系统开了哪些端口运行着哪些服务这些信息直接决定了后续漏洞利用的方向和思路。下一章我们把视角从“应用层”下沉到“基础设施层”聊聊服务器层面的信息收集该怎么做。互动时间你平时用得最多的目录扫描工具是什么有没有私藏的好用字典欢迎在评论区分享你的经验系列文章本文是 Web 渗透信息收集系列的第二篇想看前文或后续内容可以关注我的专栏持续更新。建议收藏信息收集是渗透测试的基本功工具命令多、参数杂建议收藏本文随时查阅。