# 网站目录扫描器_WIN_MAC_LINUX **Repository Path**: hackingboos/AdminPanelScanner ## Basic Information - **Project Name**: 网站目录扫描器_WIN_MAC_LINUX - **Description**: AdminPanelScanner 是一款**跨平台、高并发**的网站目录与敏感文件扫描工具。它通过内置字典对目标站点发起批量 HTTP 请求,快速发现隐藏的管理后台、配置文件、备份文件、数据库文件等敏感资源,是渗透测试和安全评估中的实用工具。 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-21 - **Last Updated**: 2026-07-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![输入图片说明](%E6%88%AA%E5%9B%BE.jpg) # AdminPanelScanner(网站目录扫描器) ## 简介 AdminPanelScanner 是一款**跨平台、高并发**的网站目录与敏感文件扫描工具。它通过内置字典对目标站点发起批量 HTTP 请求,快速发现隐藏的管理后台、配置文件、备份文件、数据库文件等敏感资源,是渗透测试和安全评估中的实用工具。 ### 背景与定位 在对 Web 应用进行安全评估时,攻击面往往不止于已知的功能入口。大量安全隐患存在于被遗忘的后台、未删除的测试页面、泄露的配置文件中。AdminPanelScanner 正是为此场景而生——它模拟攻击者的视角,利用丰富的字典库高速探测目标站点的目录结构,帮助安全人员全面掌握暴露面。 ### 核心能力 - **高速并发引擎**:支持 1~50 线程自由调节,利用 `SemaphoreSlim` 实现精准节流,在速度与稳定性之间自由平衡 - **双协议智能检测**:扫描前自动探测 HTTP 与 HTTPS 可达性,根据结果智能分配请求协议,无需手动选择 - **两级请求策略**:先用轻量 HEAD 请求获取状态码快速筛选,仅对 200 响应发起 GET 请求提取标题,大幅减少带宽消耗 - **多维度结果过滤**:按 2XX / 3XX / 4XX / 5XX 分类勾选,支持基于页面标题的关键词排除,有效降低误报 - **跨平台原生体验**:基于 .NET 6.0 + Avalonia UI 构建,一套代码覆盖 Windows、Linux、macOS,自包含发布免安装运行时 - **字典热重载**:内置字典编辑器,支持扫描过程中实时修改与重载,无需中断任务 ### 典型应用场景 | 场景 | 说明 | |------|------| | 渗透测试 | 在授权范围内对目标进行全面的目录枚举,发现隐藏入口 | | 安全评估 | 例行巡检自有资产,检查是否存在泄露的配置文件、备份文件 | | 攻防演练 | 红队信息收集阶段的快速目录扫描 | | 安全研究 | 学习 Web 应用架构与常见敏感路径分布 | | CTF 竞赛 | 快速探测题目环境中的隐藏路径 | --- ## 基本信息 | 项目 | 详情 | |------|------| | 软件名称 | AdminPanelScanner(网站目录扫描器) | | 当前版本 | v1.2.0(跨平台版) | | 作者 | HackBoos | | 联系方式 | QQ: 239237253 · Email: HackBoos@qq.com | | 网址 | www.sec31.cn | | 技术栈 | .NET 6.0 + Avalonia UI | | 运行平台 | Windows · Linux · macOS | | 授权协议 | 仅限合法授权的安全测试与学习研究使用 | --- ## 功能清单 ### 扫描能力 - **并发扫描** — 1~50 线程可配,`SemaphoreSlim` 精准控流 - **超时配置** — 1~60 秒超时自由调节,适应不同网络环境 - **协议检测** — 扫描前自动探测 HTTP / HTTPS 可用性,智能切换 - **状态码过滤** — 独立勾选 2XX / 3XX / 4XX / 5XX,按颜色区分 - **关键词排除** — 200 页面提取 `` 匹配关键词,自动剔除误报 - **实时进度** — 进度条 + 状态文本双通道反馈 ### 字典管理 - **自动加载** — 启动时读取 `字典配置/` 下所有 `.txt` 文件 - **内置编辑** — 界面内直接编辑字典内容,支持 `#` 注释行 - **一键重载** — 无需重启程序即可刷新字典 - **独立保存** — 字典与排除关键词分别保存 ### 结果操作 - **表格展示** — ID / URL / 状态码三列,按状态码着色: - 2XX 绿色 · 3XX 蓝色 · 403 橙色 · 4XX 红色 · 5XX 紫色 - **双击访问** — 双击结果行自动以浏览器打开对应 URL - **导出报告** — 保存为带时间戳的 TXT 文件 - **动态筛选** — 勾选 / 取消状态码即时刷新结果列表 --- ## 扫描流程 ``` 用户输入 URL │ ▼ 协议探测 ─── HTTP 可达? HTTPS 可达? │ ▼ 字典加载 ─── 读取字典配置文件夹中所有 .txt │ ▼ 队列构建 ─── URL + 字典项,根据协议策略选择 http/https │ ▼ 并发请求 ─── SemaphoreSlim 控制并发数,N 个 Task 并行 │ ▼ 结果处理 ─── HEAD 获取状态码,200 则 GET 提取标题做关键词过滤 │ ▼ UI 展示 ─── 符合条件的加入结果表格,按状态码着色 ``` ### 协议检测策略 | HTTP 可达 | HTTPS 可达 | 策略 | |:---------:|:----------:|------| | ✔ | ✔ | 首条使用 HTTP,其余使用 HTTPS | | ✔ | ✘ | 全部使用 HTTP | | ✘ | ✔ | 全部使用 HTTPS | | ✘ | ✘ | 使用原始 URL | ### 请求策略 - **第一步** — 发送 HEAD 请求获取 HTTP 状态码(不下载页面内容) - **第二步** — 仅当状态码为 200 时,发送 GET 请求获取页面 HTML - **第三步** — 从 HTML 中提取 `<title>` 标签内容 - **第四步** — 与排除关键词列表比对,命中则丢弃,未命中则展示 --- ## 并发控制 ``` SemaphoreSlim(maxThreads) ├─ Task 1: HEAD → 判断状态码 → (200? GET+过滤 : 直接输出) ├─ Task 2: HEAD → 判断状态码 → (200? GET+过滤 : 直接输出) ├─ Task 3: ... └─ Task N: ... │ Interlocked.Increment 线程安全计数 │ Dispatcher.UIThread.Post 安全更新界面 ``` --- ## 项目结构 ``` AdminPanelScanner(apscan) ├── 字典配置/ ← 字典与关键词 │ ├── files.txt ← 路径字典(如 /admin.php) │ └── keywords.txt ← 排除关键词(如 "404 Not Found") ├── 字典/ ← 附加字典文件 │ ├── ASP.txt │ ├── ASPX.txt │ ├── DIR.txt │ ├── JSP.txt │ ├── MDB.txt │ └── PHP.txt └── 扫描结果(导出).txt ← 扫描报告 ``` ### 字典文件格式 ``` # 注释行以 # 开头,不会被加载 /admin.php /login.aspx /.env /.git/config /robots.txt ``` --- ## 技术细节 ### 状态码颜色映射 | 状态码范围 | 颜色 | 含义 | |:---------:|:----:|------| | 2XX | 绿色 | 成功(资源可访问) | | 3XX | 蓝色 | 重定向 | | 403 | 橙色 | 禁止访问(值得关注) | | 4XX | 红色 | 客户端错误 | | 5XX | 紫色 | 服务器错误 | ### 容错设计 - `HttpRequestException` — 静默跳过,不中断扫描 - `TaskCanceledException` — 用户点击取消,优雅退出 - 跨线程 UI 更新 — `Dispatcher.UIThread.Post` 保证线程安全 - `Interlocked` 原子操作 — 多线程计数无竞态 --- ## 免责声明 > ⚠️ 本工具仅供**合法授权的网络安全测试**与**学习研究**使用。 > > - 禁止用于任何未经授权的扫描行为 > - 使用者须遵守目标所在地区的法律法规 > - 作者不承担因滥用本工具产生的任何直接或间接责任 --- ## 更新日志 ### v1.2.0(跨平台版) - 框架迁移至 .NET 6.0 + Avalonia UI - 支持 Windows / Linux / macOS 三平台 - 自包含单文件发布,无需安装运行时 - 界面重写,现代化设计 - 发布体积大幅缩减(裁剪 + 不变全球化) ### v1.1 - 新增协议自动检测与智能切换 - 新增 5XX 状态码过滤 - 优化字典加载逻辑 - 修复结果不显示问题 ### v1.0 - 首次发布 - 核心扫描、并发控制、状态码过滤、关键词排除、结果导出 --- *© 2026 HackBoos。保留所有权利。*