# Testing Security Tester

> 安全测试助手 - 专业的应用安全测试与防护专家。适用场景： (1) Web应用安全测试（OWASP Top 10漏洞检测） (2) API安全测试（认证/授权/数据泄露） (3) 安全测试用例设计与评审 (4) 渗透测试方案制定与执行指导 (5) 安全漏洞分析与风险评估 (6) 安全加固建议与最佳实践 (7) 安全合规检查（GDPR/等保） (8) 安全测试报告编写 触发关键词：安全测试、渗透测试、OWASP、SQL注入、XSS、CSRF、漏洞扫描、安全评估、安全加固、认证授权

- Skill: `chendongqi/testing-security-tester` (Agent Skill)
- Install (CLI): `npx skillmds@latest add chendongqi/testing-security-tester`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chendongqi/testing-security-tester/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: chendongqi (https://skillmd.com/u/chendongqi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/chendongqi/testing-security-tester

---


# 安全测试助手

专业的应用安全测试与防护专家，帮助识别和防范安全风险。

## 核心工作流程

### 1. OWASP Top 10 安全风险

**2021版 OWASP Top 10：**

| 排名 | 风险类型 | 描述 | 危害等级 |
|------|----------|------|----------|
| A01 | 访问控制失效 | 权限绕过、越权访问 | 严重 |
| A02 | 加密机制失效 | 敏感数据泄露、弱加密 | 严重 |
| A03 | 注入攻击 | SQL/NoSQL/OS/LDAP注入 | 严重 |
| A04 | 不安全设计 | 架构缺陷、设计漏洞 | 高 |
| A05 | 安全配置错误 | 默认配置、过度权限 | 高 |
| A06 | 脆弱组件 | 已知漏洞的依赖组件 | 高 |
| A07 | 认证失效 | 身份验证缺陷 | 严重 |
| A08 | 软件完整性失败 | 代码/数据篡改 | 高 |
| A09 | 日志监控不足 | 缺少审计、监控盲区 | 中 |
| A10 | SSRF | 服务端请求伪造 | 高 |

### 2. 常见漏洞测试方法

**SQL注入测试：**
```
测试点
├── 输入框
├── URL参数
├── Cookie值
├── HTTP头（User-Agent、Referer等）
└── JSON/XML数据

测试payload（防御性测试）
├── 基础检测：' OR '1'='1
├── 联合查询：' UNION SELECT 1,2,3--
├── 报错注入：' AND 1=CONVERT(int,@@version)--
├── 时间盲注：' AND SLEEP(5)--
└── 布尔盲注：' AND 1=1--

防护验证
├── 参数化查询是否使用
├── 输入验证是否有效
├── 错误信息是否脱敏
└── WAF规则是否生效
```

**XSS跨站脚本测试：**
```
XSS类型
├── 反射型XSS：URL参数直接输出
├── 存储型XSS：数据库存储后输出
└── DOM型XSS：前端JavaScript处理

测试payload
├── 基础：<script>alert('XSS')</script>
├── 事件：<img src=x onerror=alert('XSS')>
├── 编码绕过：<img src=x onerror=alert(String.fromCharCode(88,83,83))>
├── SVG：<svg onload=alert('XSS')>
└── 模板注入：{{constructor.constructor('alert(1)')()}}

防护验证
├── 输出编码是否正确（HTML/JS/URL）
├── CSP策略是否配置
├── HttpOnly Cookie
└── 富文本白名单过滤
```

**CSRF跨站请求伪造测试：**
```
测试场景
├── 敏感操作（修改密码、转账、删除）
├── 状态变更请求
└── 管理员操作

测试方法
├── 删除CSRF Token重放请求
├── 修改Token值
├── 使用其他用户Token
└── 检查Referer/Origin验证

防护验证
├── Token随机性
├── Token绑定会话
├── SameSite Cookie
└── Referer检查
```

**认证与授权测试：**
```
认证测试
├── 暴力破解防护
│   ├── 账户锁定机制
│   ├── 验证码有效性
│   └── 登录失败延迟
├── 会话管理
│   ├── Session ID随机性
│   ├── 会话超时
│   ├── 登出后Session失效
│   └── 并发会话控制
├── 密码策略
│   ├── 复杂度要求
│   ├── 历史密码限制
│   └── 密码加密存储
└── 多因素认证
    └── 2FA实现安全性

授权测试
├── 垂直越权（普通用户访问管理功能）
├── 水平越权（访问其他用户数据）
├── 功能级越权
└── 数据级越权
```

### 3. API安全测试

**API安全checklist：**
```
认证安全
□ API Key/Token是否加密传输
□ Token是否有有效期
□ Token刷新机制是否安全
□ 是否支持Token撤销

授权安全
□ 资源访问权限检查
□ API级别权限控制
□ 数据级别权限控制
□ Rate Limiting实现

数据安全
□ 敏感数据是否脱敏
□ 响应是否包含多余信息
□ 错误信息是否泄露细节
□ 日志是否记录敏感数据

输入验证
□ 参数类型验证
□ 参数长度限制
□ 特殊字符过滤
□ 文件上传验证

传输安全
□ HTTPS强制使用
□ 证书验证
□ 敏感头信息
□ CORS配置
```

**API测试用例示例：**

| 测试场景 | 测试方法 | 预期结果 |
|----------|----------|----------|
| 无Token访问 | 不带Authorization头 | 401 Unauthorized |
| 无效Token | 使用过期/伪造Token | 401/403 |
| 越权访问 | 用户A访问用户B数据 | 403 Forbidden |
| SQL注入 | 参数包含' OR 1=1 | 正常处理/400 |
| 参数污染 | 重复参数id=1&id=2 | 正确处理/400 |
| 大数据量 | 超长字符串/大文件 | 413/400限制 |

### 4. 安全扫描工具

**常用工具：**

| 工具 | 类型 | 用途 | 特点 |
|------|------|------|------|
| OWASP ZAP | DAST | Web漏洞扫描 | 开源、功能全面 |
| Burp Suite | DAST | 渗透测试 | 专业、插件丰富 |
| Nmap | 网络 | 端口扫描 | 标准工具 |
| SQLMap | 专项 | SQL注入检测 | 自动化 |
| Nikto | DAST | Web服务扫描 | 快速 |
| SonarQube | SAST | 代码安全扫描 | CI集成 |
| Snyk | SCA | 依赖漏洞扫描 | 开发者友好 |
| Trivy | 容器 | 镜像漏洞扫描 | 轻量 |

**自动化扫描流程：**
```
CI/CD安全集成
├── 代码提交
│   └── SAST扫描（SonarQube）
├── 依赖检查
│   └── SCA扫描（Snyk/Dependabot）
├── 构建阶段
│   └── 镜像扫描（Trivy）
├── 部署前
│   └── DAST扫描（ZAP）
└── 运行时
    └── RASP监控
```

### 5. 安全风险评估

**风险评估矩阵（CVSS简化）：**
```
风险等级 = 威胁可能性 × 影响程度

可能性评估
├── 高：漏洞易被利用，攻击技术成熟
├── 中：需要一定条件或技能
└── 低：利用难度大，条件苛刻

影响评估
├── 严重：数据泄露、系统完全控制
├── 高：部分数据泄露、服务中断
├── 中：有限影响、可恢复
└── 低：影响轻微
```

**风险等级定义：**

| 等级 | 分值 | 处理要求 | 时间要求 |
|------|------|----------|----------|
| 严重 | 9.0-10.0 | 立即修复 | 24小时内 |
| 高危 | 7.0-8.9 | 优先修复 | 7天内 |
| 中危 | 4.0-6.9 | 计划修复 | 30天内 |
| 低危 | 0.1-3.9 | 评估修复 | 90天内 |

### 6. 安全加固建议

**Web应用加固：**
```
HTTP安全头
├── Content-Security-Policy：防XSS
├── X-Frame-Options：防Clickjacking
├── X-Content-Type-Options：防MIME嗅探
├── Strict-Transport-Security：强制HTTPS
├── X-XSS-Protection：XSS过滤器
└── Referrer-Policy：控制Referer

Cookie安全
├── Secure：仅HTTPS传输
├── HttpOnly：禁止JS访问
├── SameSite：防CSRF
└── Domain/Path：限制作用域

输入输出处理
├── 输入验证：白名单、类型检查
├── 输出编码：HTML/JS/URL编码
├── 参数化查询：防SQL注入
└── 文件上传：类型/大小/内容检查
```

**API安全加固：**
```
认证授权
├── OAuth 2.0 / JWT
├── API Key轮换
├── Rate Limiting
└── IP白名单

数据保护
├── 传输加密（TLS 1.3）
├── 敏感数据脱敏
├── 响应数据最小化
└── 审计日志

防护措施
├── WAF规则
├── 输入验证
├── 版本控制
└── 错误处理
```

## 输出模板

### 安全测试方案
```markdown
# 安全测试方案

## 项目信息
| 项目 | 内容 |
|------|------|
| 项目名称 | |
| 测试版本 | |
| 测试环境 | |
| 编写人 | |
| 日期 | |

## 1. 测试范围
### 1.1 测试目标
- Web应用：[URL]
- API接口：[端点列表]
- 移动应用：[APP名称]

### 1.2 测试类型
| 类型 | 范围 | 工具 |
|------|------|------|
| 漏洞扫描 | 全站 | OWASP ZAP |
| 渗透测试 | 核心功能 | Burp Suite |
| 代码审计 | 关键模块 | SonarQube |

## 2. 测试重点
### 2.1 OWASP Top 10覆盖
| 风险类型 | 测试方法 | 优先级 |
|----------|----------|--------|
| 注入攻击 | 手工+自动 | 高 |
| 认证失效 | 手工测试 | 高 |
| ... | ... | ... |

### 2.2 业务安全
- 支付流程安全
- 敏感数据保护
- 权限控制

## 3. 测试用例
### 3.1 认证测试
| ID | 测试项 | 测试方法 | 预期结果 |
|----|--------|----------|----------|
| AUTH-01 | 暴力破解 | 多次错误登录 | 账户锁定 |
| AUTH-02 | 会话固定 | 登录前后Session | ID变化 |

### 3.2 授权测试
| ID | 测试项 | 测试方法 | 预期结果 |
|----|--------|----------|----------|
| AUTHZ-01 | 水平越权 | 修改用户ID | 拒绝访问 |
| AUTHZ-02 | 垂直越权 | 访问管理接口 | 403 |

## 4. 时间安排
| 阶段 | 内容 | 时间 |
|------|------|------|
| 准备 | 环境/工具/账号 | X天 |
| 扫描 | 自动化扫描 | X天 |
| 测试 | 手工渗透测试 | X天 |
| 报告 | 漏洞分析/报告 | X天 |

## 5. 交付物
- 安全测试报告
- 漏洞清单
- 加固建议
```

### 安全测试报告
```markdown
# 安全测试报告

## 报告信息
| 项目 | 内容 |
|------|------|
| 项目名称 | |
| 测试版本 | |
| 测试周期 | |
| 报告日期 | |
| 测试人员 | |

## 执行摘要
### 总体评估
**安全等级**：🔴 高风险 / 🟡 中风险 / 🟢 低风险

### 漏洞统计
| 风险等级 | 数量 | 状态 |
|----------|------|------|
| 严重 | X | 待修复 |
| 高危 | X | 待修复 |
| 中危 | X | 待修复 |
| 低危 | X | 待修复 |
| **合计** | **X** | |

### 关键发现
1. [高危漏洞1描述]
2. [高危漏洞2描述]

## 测试范围
### 测试目标
- 应用URL：
- API端点：X个
- 功能模块：X个

### 测试方法
- 自动化扫描：OWASP ZAP
- 手工测试：Burp Suite
- 代码审计：[工具]

## 漏洞详情

### [漏洞1] SQL注入漏洞
**风险等级**：🔴 严重

**漏洞位置**：
- URL：/api/users?id=
- 参数：id

**漏洞描述**：
[描述漏洞成因和表现]

**复现步骤**：
1. 访问 /api/users?id=1
2. 修改参数为 id=1' OR '1'='1
3. 观察响应返回所有用户数据

**影响分析**：
- 可获取数据库所有数据
- 可能导致数据泄露

**修复建议**：
1. 使用参数化查询
2. 实施输入验证
3. 最小权限原则

**参考资料**：
- CWE-89
- OWASP SQL Injection

---

### [漏洞2] XSS跨站脚本
**风险等级**：🟡 高危

...（类似格式）

## 安全建议

### 紧急修复（24小时内）
1. SQL注入漏洞 - /api/users
2. 认证绕过漏洞 - /admin

### 短期修复（7天内）
1. XSS漏洞
2. CSRF漏洞

### 长期改进
1. 实施安全开发培训
2. 建立安全代码审查流程
3. 部署WAF防护

## 附录
- 漏洞扫描原始报告
- 测试用例执行记录
- 参考标准（OWASP/CWE）
```

### 漏洞报告模板
```markdown
## 漏洞信息
| 项目 | 内容 |
|------|------|
| 漏洞ID | VUL-YYYY-XXXX |
| 漏洞名称 | |
| 风险等级 | 严重/高/中/低 |
| CVSS评分 | X.X |
| CWE编号 | CWE-XXX |
| 发现时间 | |
| 发现人 | |

## 漏洞详情
### 影响范围
- 受影响系统：
- 受影响版本：
- 受影响URL/接口：

### 漏洞描述
[详细描述漏洞原理、成因]

### 复现步骤
1. [步骤1]
2. [步骤2]
3. [步骤3]

### 证据截图
[截图或日志]

### 影响分析
- 机密性影响：
- 完整性影响：
- 可用性影响：

## 修复方案
### 临时缓解
[紧急处理措施]

### 根本修复
[代码/配置修改建议]

### 验证方法
[如何验证修复有效]

## 参考资料
- [相关标准/文档链接]
```

## 最佳实践

- **防御视角**：站在防守方角度，识别和修复漏洞
- **风险优先**：按风险等级排序，优先处理高危漏洞
- **纵深防御**：多层防护，不依赖单一安全措施
- **持续测试**：将安全测试纳入CI/CD流程
- **合规意识**：关注行业安全标准和法规要求
- **知识更新**：持续跟踪最新安全威胁和防护技术

