web-vuln-scan

$npx mdskill add wgpsec/AboutSecurity/web-vuln-scan

Execute deep web vulnerability scans on known targets.

  • Identifies technology stacks to prioritize RCE and SQL injection risks.
  • Integrates Nuclei, httpx, spray, and ffuf for automated testing.
  • Selects scan strategies based on detected server fingerprints.
  • Delivers prioritized vulnerability reports with proof-of-concept paths.

SKILL.md

.github/skills/web-vuln-scanView on GitHub ↗
---
name: web-vuln-scan
description: "单目标 Web 深度漏洞扫描策略。当已知目标 URL、需要对一个 Web 应用进行深度漏洞测试时使用。与 recon-full(资产发现)不同——本技能假设目标已确定,聚焦漏洞层面的深度测试。覆盖指纹驱动的扫描策略选择、自动化+手动测试结合、漏洞优先级排序。优先发现 RCE、SQL注入等高危漏洞"
metadata:
  tags: "web,vuln,poc,scan,漏洞扫描,指纹识别,安全评估,nuclei,深度测试"
  category: "exploit"
---

# 单目标 Web 深度漏洞扫描方法论

与 `recon-full`(广度优先、资产发现)不同,本技能是**深度优先**——对已确定的单个 Web 目标做全面漏洞测试。

## Phase 1: 技术栈驱动的扫描策略

先做指纹识别,然后根据结果选择针对性扫描路线:

```bash
# 指纹识别
curl -sI http://target | grep -i "Server\|X-Powered-By\|X-AspNet"
httpx -u http://target -tech-detect -silent
```

| 技术栈 | 自动化扫描重点 | 手动测试重点 |
|--------|---------------|-------------|
| PHP (WordPress/Laravel/ThinkPHP) | CMS 专用 POC、PHP 反序列化 | LFI/文件上传/`include()` 参数 |
| Java (Spring/Struts/Tomcat) | Log4j/Spring4Shell/Struts2 | 反序列化入口、Actuator 泄露 |
| Python (Flask/Django) | SSTI、Debug 模式 | Pickle 反序列化、Secret Key 泄露 |
| Node.js (Express/Koa) | 原型链污染 | 依赖漏洞、`eval()` 注入 |
| .NET (ASP.NET/IIS) | ViewState 反序列化 | web.config 泄露 |

不同技术栈的漏洞分布差异巨大——盲目全扫浪费时间。

## Phase 2: 自动化扫描

### 2.1 已知漏洞扫描
```bash
# Nuclei 扫描(按严重等级过滤,节省时间)
nuclei -u http://target -severity critical,high
```
如果指纹明确,可以缩小范围:
- WordPress → `nuclei -u http://target -tags wordpress`
- 已知 CVE → `nuclei -u http://target -t cves/`

### 2.2 默认口令检测
```bash
nuclei -u http://target -t default-logins/ -silent
```
很多应用装完就忘改密码——这是最"便宜"的攻击路径。

### 2.3 目录和敏感文件
```bash
# spray 目录爆破(推荐,智能过滤 + 高性能)
spray -u http://target -d /pentest/AboutSecurity/Dic/Web/Directory/Fuzz_common.txt
# 或用 ffuf
ffuf -u http://target/FUZZ -w /pentest/AboutSecurity/Dic/Web/Directory/Fuzz_common.txt -mc 200,301,302,403
```
重点不是跑大字典,而是看结果中有没有:
- **管理后台** (`/admin`, `/manager`, `/console`) → 直接尝试登录
- **配置泄露** (`.env`, `config.php`, `web.config`) → 可能有数据库密码
- **源码泄露** (`/.git`, `.svn`, `backup.zip`)
- **调试端点** (`/actuator`, `/debug`, `/phpinfo.php`) → 大量内部信息

## Phase 3: 手动测试(自动化扫不到的)

自动化工具覆盖不了逻辑漏洞和需要上下文理解的漏洞。对每个功能点做针对性测试:

### 3.1 输入点测试矩阵
| 功能点 | 优先测试 | 参考技能 |
|--------|----------|----------|
| 搜索/查询 | SQL 注入 | `sql-injection-methodology` |
| 登录表单 | 弱密码、SQL注入、暴力破解 | `default-cred-sweep` |
| 文件上传 | 类型绕过、路径穿越 | `file-upload-methodology` |
| 用户输入回显 | XSS、SSTI | `xss-methodology`, `ssti-methodology` |
| 评论/留言 | 存储型 XSS | `xss-methodology` |
| URL/文件路径参数 | LFI/SSRF | `lfi-rfi-methodology`, `ssrf-methodology` |
| XML 输入/SOAP/文件上传 | XXE | `xxe-injection-methodology` |
| API 端点 | IDOR、认证绕过 | `api-fuzz`, `idor-methodology` |
| JWT Token | 算法绕过、密钥爆破 | `jwt-attack-methodology` |

### 3.2 测试优先级
1. **直接可 RCE 的** → 命令注入、反序列化、SSTI、文件上传
2. **可读取敏感数据的** → SQL注入、LFI、IDOR
3. **可获取凭据的** → 默认口令、信息泄露、弱加密
4. **需要用户交互的** → XSS、CSRF(CTF 中通常不考)

## Phase 4: 结果分析与攻击路径规划

扫描完成后,不是列一堆漏洞就完了——要评估**哪些漏洞能组合出攻击路径**:

**直接路径**(一步到位):
- RCE 漏洞 → 直接拿 shell
- 管理后台弱密码 → 后台功能利用

**组合路径**(多步链式):
- 信息泄露 → 获取凭据 → 登录后台 → 后台文件上传 → webshell
- SQL 注入 → 读配置文件 → 获取密钥 → 伪造 JWT → 管理员权限
- SSRF → 读取云元数据 → 云凭据

## 注意事项
- 自动化扫描是起点不是终点——真正的高危漏洞往往需要手动发现
- 指纹识别准确度直接影响后续效率,花 1 轮做好指纹值得
- 发现一个低危漏洞时,想想它能不能和其他发现组合出高危攻击链

## 测试优先级
- RCE 优先:命令执行漏洞可直接拿 flag
- 默认凭据第二:后台权限可快速获取更多信息

## 深入参考

- Web 漏洞检查清单与 wfuzz 高级用法 → [references/scan-methodology.md](references/scan-methodology.md)

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|