Web渗透实战:站点指纹、目录、接口信息收集"

admin 2026-10-18 03:10:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Web 渗透实战:站点指纹、目录、接口信息收集

原创

Burst1024
Burst1024

Burst1024

2026年7月13日 17:38
湖北

在小说阅读器读本章

去阅读

Web 渗透实战:站点指纹、目录、接口信息收集

前言

在 Web 渗透测试的完整流程中,信息收集是第一步,也是决定后续渗透效率的关键一步。拿到一个目标站点后,先摸清它用了什么 CMS、跑在什么中间件上、有哪些隐藏目录和接口,远比一上来就盲目扫漏洞、跑工具要高效得多。

上一篇我们讲了企业级信息收集—— 从主域名、备案信息、子域名到企业主体,解决的是 “目标有哪些资产” 的问题。这一篇我们往下钻一层,聚焦到具体的 Web 站点本身:当你已经拿到一个域名,如何进一步摸清这个网站的技术栈、目录结构和接口信息,为后续的漏洞挖掘和权限获取铺路。

本文主要涵盖三部分内容:

  • 站点指纹识别

:判断目标用了什么 CMS、框架、中间件及版本
* 目录扫描

:发现后台路径、备份文件、配置文件等敏感资源
* 接口信息收集

:从前端 JS、页面源码中挖掘隐藏的 API 接口

合规声明:本文所有内容仅用于授权范围内的安全测试与学习研究,请勿对任何未授权的网站执行扫描、探测或信息收集操作。所有实验请在本地靶场或已获得书面授权的环境中进行,遵守《网络安全法》及相关法律法规。


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 浏览器插件识别(最简单)

工具:Wappalyzer

Chrome / Firefox/ Edge 插件商店直接搜,装上就行。打开目标网站,点插件图标,直接出结果:CMS、中间件、前端库、服务器信息全给你列出来。

优点:零门槛,打开网页就看得到
 缺点:信息有限,有些站点识别不出来


1.4 命令行工具批量识别

工具:WhatWeb

Kali 自带,也可以自己装,命令非常简单:

whatweb csdn.net

它会自动去匹配几百种指纹规则,输出 CMS、中间件、操作系统、脚本语言等信息。

常用参数:

  • -v

详细输出
* -a 3

高强度扫描(发更多请求,识别更准,也更容易被 WAF 拦)

注意:高强度扫描会发起大量请求,仅限授权靶场使用,不要扫外网。


1.5 手动识别

  1. 打开目标网页,按下键盘F12调出浏览器开发者工具,切换至「网络 (Network)」面板,按F5刷新页面加载全部请求。
  2. 在左侧请求列表选中第一条document类型的主网站域名请求。
  3. 右侧面板切换到「标头」选项卡,下滑查看响应标头板块:
  • 读取Server字段,识别中间件、WAF 设备;
  • 查看X-Powered-By等自定义字段,判断后端脚本语言。
  1. 切换至「源代码」面板,使用快捷键Ctrl+F检索关键词:
  • thinkphp

/dede/wp-content匹配 CMS 系统;
* django

/spring匹配后端开发框架;
* jquery

/vue识别前端组件版本。

  1. 筛选 Network 面板内 JS 文件,查看脚本内容,提取接口路径、项目版本特征。
  2. 访问网站不存在的随机路径,通过 404 报错页面样式、报错堆栈辅助判断框架。

合规提示:仅本地靶场可完整实操,禁止扫描未授权外网站点。


1.6 指纹识别的坑

  1. CDN / WAF 会伪装响应头

:有些站点 Server 头写的是 cloudflare,真实中间件藏在后面
2. 版本信息可能造假

:管理员会故意改响应头,误导攻击者
3. 识别结果仅供参考

:一定要交叉验证,不能只靠一个工具的结果就下结论

本章小结:指纹识别是信息收集的第一步,工具 + 手动结合着用,先把目标的技术栈摸清楚,后面才好对症下药。


2. 网站目录扫描(全部基于 Vulhub 本地靶场实操)

2.1 目录扫描基础概念

  1. 目录扫描原理:使用字典批量请求网站路径,根据服务器返回状态码判断路径是否存在。
  2. 敏感目录 / 文件价值:后台登录页、数据库备份 sql、源码压缩包、配置 env 文件、上传目录。
  3. 合规强调:本章全部操作仅在本地 Vulhub 靶机完成,禁止对外网站点爆破扫描。

2.2 实验环境启动(对应你截图 Vulhub ThinkPHP5 靶场)

你的终端路径:/home/kali/vulhub/thinkphp/5-rce,完整启动流程:

  1. 进入靶场目录
cd /home/kali/vulhub/thinkphp/5-rce
  1. 启动 Docker 靶场容器
docker-compose up -d

  1. 查看靶场运行状态,获取访问 IP
docker-compose ps

  1. 浏览器访问靶场地址(如http://127.0.0.1:8080),作为本次目录扫描目标。
    方式 1:Kali 本机访问(127.0.0.1)

仅在 Kali 系统内部浏览器可用,容器映射端口直接本地回环访问

http://127.0.0.1:8080

方式 2:物理主机(Windows/Mac)访问 Kali 靶场(推荐实操)

  1. Kali 终端输入 ip a,查看 Kali 本机局域网 IP,示例:192.168.200.131(此处以你的真实地址为准)
  2. 物理主机浏览器输入:
http://192.168.200.131:8080()


2.3 目录扫描工具:Dirsearch 实操

2.3.1 工具介绍

Dirsearch 是一款主流 Python 目录爆破工具,用于批量枚举网站后台、备份文件、敏感路径。
 官方开源仓库:https://github.com/maurosoria/dirsearch


2.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(默认)

python dirsearch.py -u http://192.168.200.131:8080 -o report.txt

② 输出 html 可视化报告(推荐查看)

python dirsearch.py -u http://192.168.200.131:8080 -o result.html --format=html

支持格式:simple, plain, json, xml, md, csv, html, sqlite


2.3.3 常用拓展参数(靶场优化扫描)

# 指定字典、扫描备份后缀、限制线程dirsearch -u http://127.0.0.1:8080 -t 20 -e php,txt,sql,bak

  1. -t 20

-t = --threads,设置并发扫描线程数

  • 数值 20:同时发起 20 个 HTTP 请求,加快扫描速度
  • 数值越大扫描越快,但容易触发服务器限流 / 403 封禁,本地靶场 20 属于安全区间
  1. -e php,txt,sql,bak

-e = --extensions,指定追加扫描的文件后缀
 逗号分隔,工具会自动给字典内每条路径拼接这些后缀进行探测:

  • php

:探测网站业务源码、后台页面(admin.php、login.php)
* txt

:探测说明文件、账号明文记录、robots.txt
* sql

:探测数据库备份文件(网站导出的数据库脚本)
* bak

:探测程序备份文件(index.bak、config.bak,常泄露源码)


2.3.4 扫描结果判断标准

  1. 状态码 200 OK:路径真实存在,优先访问后台、数据库备份文件
  2. 状态码 301/302:页面存在跳转,大概率是管理登录页面
  3. 状态码 403 Forbidden:目录存在,但服务器禁止直接访问,存在进一步测试价值

dirsearch -h 作用:
 打印工具全部参数说明,告诉你每个参数(-u/-t/-e/-w 等)的功能、用法,方便你写扫描命令、调整扫描规则。

合规提示:本节所有命令仅针对本地 Vulhub 内网靶场执行,禁止对任何未授权公网网站发起目录爆破扫描。


2.4 御剑

2.4.1工具介绍

官方开源仓库:https://github.com/foryujian/yjdirscan

工具优势

  1. 字典适配国内场景:内置大量中文后台路径、国产 CMS 专属字典,针对 ThinkPHP、织梦、帝国 CMS 等 PHP 站点扫描命中率高于 dirsearch;
  2. 双端兼容:新手可使用 Windows 可视化 GUI,Linux/Kali 环境支持命令行批量扫描;
  3. 原生支持备份后缀、中文管理目录探测,适配 Vulhub 本地 PHP 靶场练习。

2.4.2 基本操作

下载好之后打开御剑.exe

由于此时是在Windows上操作的所以地址有变化

添加刚刚打开的靶场的网址http://192.168.200.131:8080/,并且将字典全部添加进去

 扫描的时候会显示正在扫描的信息

 扫描完成之后双击扫描好的index.php会跳转到php页面


 以下是php页面


2.4.3 字典替换

如果你想用自己的字典就直接进入御剑的存放字典的文件夹进行替换或添加就行


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 ThinkPHP5 靶场上实战演练了如何发现隐藏的目录、后台入口和敏感文件。最后用 FindSomething 这类被动扫描插件,在不触发告警的前提下补充了更多接口和资源信息。

但这还不够。知道了 “网站长什么样”,我们还得知道 “它跑在什么机器上”—— 服务器是什么操作系统?开了哪些端口?中间件具体是什么版本?这些信息直接决定了后续漏洞利用的方向。
 下一章,我们把视角从 “应用层” 下沉到 “基础设施层”,聊聊服务器层面的信息收集该怎么做。


Web渗透实战:站点指纹、目录、接口信息收集" 网络安全文章

Web渗透实战:站点指纹、目录、接口信息收集"

本文是Web渗透测试信息收集的实战指南,聚焦站点指纹识别、目录扫描与接口信息收集。核心结论是信息收集决定渗透效率,需先摸清目标技术栈。关键发现包括指纹识别可获取CMS、中间件等特征,目录扫描能发现敏感路径,接口收集可挖掘隐藏API。可操作建议是结合工具(如Wappalyzer、WhatWeb、Dirsearch)与手动分析,交叉验证结果,并强调所有操作需在授权环境下进行。
小猫的PWN学习笔记7:ret2系列利用总结" 网络安全文章

小猫的PWN学习笔记7:ret2系列利用总结"

本文总结了PWN中ret2系列利用方式,包括ret2text、ret2shellcode、ret2libc和ret2syscall,核心原理是通过栈溢出劫持ret指令跳转到getshell函数。文章详细介绍了每种利用的条件和流程,并提供了信息收集、逆向分析、利用决策和编写exp的步骤。最后部分包含一个付费漏洞库的推广广告。
Github1kStars某JavaSdk反序列化利用链挖掘" 网络安全文章

Github1kStars某JavaSdk反序列化利用链挖掘"

本文详细介绍了在HyperledgerFabricJavaSDK中发现并利用反序列化漏洞的过程。通过搜索readObject定位反序列化点,分析ClassCastException原因,最终找到Channel.serviceDiscoveryProperties作为注入点。文章展示了如何构造合法Channel对象并绕过多个限制(如cryptoSuite、NPE),成功实现远程代码执行。核心结论是:开发者应避免在反序列化中使用非transient的Object/容器类型字段,并严格校验输入。
评论:0   参与:  0