---
category: web
name: pentest-vulns
description: 漏洞发现与验证 - 根据前期发现的功能点,针对性测试各类Web漏洞
when_to_use: 信息收集、API发现、登录测试完成后
---
# 漏洞发现与验证
## 决策树
根据前期发现选择漏洞测试:
```
登录/认证接口 → SQL注入
查询/列表/搜索接口 → SQL注入 + IDOR + XSS + SSTI
文件上传 → 任意文件上传 + 路径穿越 + XXE
文件下载/预览 → 路径穿越/任意文件读取 + SSRF
URL/代理/预览/跳转 → SSRF + 命令注入 + Open Redirect
管理后台 → 垂直越权 + 命令注入 + SSRF
XML/SOAP接口 → XXE + 命令注入
表单/修改操作 → CSRF
重定向/Set-Cookie → CRLF注入
全接口通用 → CORS + 方法篡改
无参数输入 → 跳过,仅出信息收集报告
已识别产品/版本 → 历史漏洞/CVE(见下方)
```
## 核心规则
必须看响应内容,不能只看状态码。所有工具输出必须亲自读取分析逐条验证。
## 文件组织
```
tmp/<时间戳>/raw/vulns/
├── sqli/ ├── xss/ ├── ssrf/ ├── cmdi/
├── file_upload/ ├── path_traversal/ ├── xxe/
├── ssti/ ├── idor/ ├── cors/ ├── csrf/
├── open_redirect/ ├── crlf/ └── cve/
```
## 各漏洞测试
### SQL注入
关注:GET参数(id/uid/orderId)、GET/POST搜索参数(keyword/q/search)、JSON参数(application/json经常被忽略)、排序(sort/order)、Header(Cookie/X-Forwarded-For/User-Agent/Referer)。
测试:数字型(`1 AND 1=1`)/字符型(`' OR '1'='1`)/时间盲注(`SLEEP(3)`)→判断+闭合尝试(`'`/`"`/`')`/`")`/`;`)→数据库识别(报错信息/@@version/banner)
WAF绕过:大小写/内联注释/双重URL编码/空字节截断。
### XSS
关注:搜索回显/评论/富文本/JSONP回调/文件名回显/错误信息、URL参数反映在页面中。
**禁止 `alert()`/`prompt()`/`confirm()`**,改用 `console.log()` 或 DOM 操作验证。存储型用唯一标识符确认,不注入可见内容。
反射型:``/`
` → HTML属性突破(`" onfocus=console.log(1)`)。
DOM型:Playwright访问源/沉入点追踪。
存储型:提交payload后用Playwright验证。
判断:HTML直接含未编码标签→存在;被`<`编码→尝试绕过。
### SSRF
关注功能:URL预览/图片加载/文件导入/Webhook/PDF生成/代理/分享/OCR/OSS上传。
关注参数名:url/link/src/href/path/callback/redirect/imageURL/sourceURL。
测试:DNSLog确认→协议探测(file/dict/gopher)→内网探测(10/172/192/云元数据169.254)→进制绕过/域名绕过。
### 命令注入
关注功能:Ping/DNS/压缩备份/图片处理/PDF生成。关注参数名:ip/host/domain/cmd/path/file。
Payload:`; id`/`| whoami`/`\`id\``/`$(whoami)`/`%0a id`/`&& id`。
空格绕过:`${IFS}`/`$IFS$9`;黑名单绕过:`/bin/cat`/`c'a't`。
### 文件上传
扩展名绕过:.php5/.phtml/.jspx/.cer/.asa → 大小写/双写(.php.jpg)/00截断/末尾空格点/Windows ADS。
Content-Type绕过:`file=@shell.php;type=image/jpeg`。
路径控制:`filename=../../../shell.php`。
### 路径穿越/任意文件读取
关注功能:文件下载/预览/模板/导出/头像/日志。关注参数名:file/path/name/src/template。
Payload:`../../../etc/passwd`→URL编码→双重编码→Windows路径(`..\..\..\win.ini`)。
判断:响应含`root:x:0:0`(Linux)或`[fonts]`(Windows)→确认。
### XXE
关注:SOAP/WSDL、XML上传(DOCX/XLSX/SVG)、XML Content-Type API、SAML。
Payload:实体文件读取(``)→Blind XXE(dnslog)。
### SSTI
引擎检测:`{{7*7}}`(Jinja2/Twig)→`${7*7}`(Freemarker)→`#{7*7}`(Thymeleaf)→`<%= 7*7 %>`(EJS)。
区分:`{{7*'7'}}` Jinja2=7777777/Twig=49。
判断:响应含49→确认SSTI。
### 越权
水平(IDOR):替换ID参数(`/api/user/1`→`/api/user/2`),修改POST body中ID。
垂直:普通用户cookie访问`/api/admin/*`,修改role/jwt payload。
### CORS
测试:任意Origin→null Origin→子域名绕过。
高危:`ACAO: 任意域名` + `ACAC: true`。低风险:`ACAO: *`无ACAC。
无ACAO头→安全。
### CSRF
关注功能:修改密码/资料、转账、删除操作。检查:是否有CSRF Token、SameSite Cookie、自定义头。
验证:Playwright构造跨域POST请求,不携带Cookie,观察是否成功。
### Open Redirect
关注参数名:redirect/url/next/returnUrl/back/r/ref/target。
测试:`?redirect=https://evil.com`、`//evil.com`、`%2f%2fevil.com`、`\evil.com`。
### CRLF注入
关注功能:重定向、Set-Cookie、Location头反射。
测试:`%0d%0aSet-Cookie:crlf=1`、`%0d%0a%0d%0a