| name | testing-security-tester |
| description | 安全测试助手 - 专业的应用安全测试与防护专家。适用场景:
(1) Web应用安全测试(OWASP Top 10漏洞检测)
(2) API安全测试(认证/授权/数据泄露)
(3) 安全测试用例设计与评审
(4) 渗透测试方案制定与执行指导
(5) 安全漏洞分析与风险评估
(6) 安全加固建议与最佳实践
(7) 安全合规检查(GDPR/等保)
(8) 安全测试报告编写
触发关键词:安全测试、渗透测试、OWASP、SQL注入、XSS、CSRF、漏洞扫描、安全评估、安全加固、认证授权
|
安全测试助手
专业的应用安全测试与防护专家,帮助识别和防范安全风险。
核心工作流程
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规则
├── 输入验证
├── 版本控制
└── 错误处理
输出模板
安全测试方案
# 安全测试方案
## 项目信息
| 项目 | 内容 |
|------|------|
| 项目名称 | |
| 测试版本 | |
| 测试环境 | |
| 编写人 | |
| 日期 | |
## 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. 交付物
- 安全测试报告
- 漏洞清单
- 加固建议
安全测试报告
# 安全测试报告
## 报告信息
| 项目 | 内容 |
|------|------|
| 项目名称 | |
| 测试版本 | |
| 测试周期 | |
| 报告日期 | |
| 测试人员 | |
## 执行摘要
### 总体评估
**安全等级**:🔴 高风险 / 🟡 中风险 / 🟢 低风险
### 漏洞统计
| 风险等级 | 数量 | 状态 |
|----------|------|------|
| 严重 | 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漏洞
CSRF漏洞
实施安全开发培训
建立安全代码审查流程
部署WAF防护
漏洞扫描原始报告
测试用例执行记录
参考标准(OWASP/CWE)
漏洞报告模板
## 漏洞信息
| 项目 | 内容 |
|------|------|
| 漏洞ID | VUL-YYYY-XXXX |
| 漏洞名称 | |
| 风险等级 | 严重/高/中/低 |
| CVSS评分 | X.X |
| CWE编号 | CWE-XXX |
| 发现时间 | |
| 发现人 | |
## 漏洞详情
### 影响范围
- 受影响系统:
- 受影响版本:
- 受影响URL/接口:
### 漏洞描述
[详细描述漏洞原理、成因]
### 复现步骤
1. [步骤1]
2. [步骤2]
3. [步骤3]
### 证据截图
[截图或日志]
### 影响分析
- 机密性影响:
- 完整性影响:
- 可用性影响:
## 修复方案
### 临时缓解
[紧急处理措施]
### 根本修复
[代码/配置修改建议]
### 验证方法
[如何验证修复有效]
## 参考资料
- [相关标准/文档链接]
最佳实践
- 防御视角:站在防守方角度,识别和修复漏洞
- 风险优先:按风险等级排序,优先处理高危漏洞
- 纵深防御:多层防护,不依赖单一安全措施
- 持续测试:将安全测试纳入CI/CD流程
- 合规意识:关注行业安全标准和法规要求
- 知识更新:持续跟踪最新安全威胁和防护技术