# 网站目录扫描器_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

# 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 中提取 `` 标签内容
- **第四步** — 与排除关键词列表比对,命中则丢弃,未命中则展示
---
## 并发控制
```
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。保留所有权利。*