安全与风控
用 OWASP WSTG 方法对 Web…
在获得书面授权后,按 OWASP WSTG 流程系统测试 Web 应用的认证、授权、输入校验、会话管理和业务逻辑漏洞。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 OWASP WSTG 方法对 Web特定
解决思路
- 侦察与测绘:配置 Burp Suite 代理并手动浏览每个页面、表单和功能,让 Burp 捕获站点地图;用 Discover Content 查找未链接的隐藏目录和文件;从响应头(X-Powered-By、Server)、Cookie(JSESSIONID=Java、PHPSESSID=PHP、ASP.NET_SessionId=.NET)和页面扩展名识别技术栈;用 ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u https://target.com/FUZZ -mc 200,301,302,403 枚举端点;用 Burp 的 JS Link Finder 扩展或 LinkFinder.py 审查 JavaScript 文件中的硬编码 API 端点、密钥和客户端路由;记录所有入口点:URL 参数、POST body、HTTP 头、Cookie、文件上传和 WebSocket 连接。
- 认证测试:提交有效和无效用户名,观察响应差异(时间、消息、HTTP 状态)以枚举有效账号;用无效凭据快速尝试 10-20 次登录,验证账号锁定和速率限制;用弱密码(123456、password、单字符)测试密码策略;测试 MFA 绕过(直接访问认证后页面、篡改 MFA 令牌、重放成功的 MFA 响应);记录认证前后的会话令牌,若登录后令牌不变则存在会话固定;检查“记住我”持久令牌的可预测性、加密和过期;测试密码重置流程的令牌可预测性、过期、账号枚举和 Host 头注入。
- 授权测试:用账号 A 捕获访问其资源的请求,替换为账号 B 的标识符(用户 ID、订单号、文件名)重放,并用 Burp 的 Autorize 扩展自动化覆盖所有端点以检测水平越权(IDOR);用低权限账号直接访问管理 URL、修改请求中的角色参数或篡改 JWT 声明以测试垂直越权;直接访问测绘阶段收集的内部 URL 尝试强制浏览;若 GET 被阻止,尝试 PUT、POST、DELETE、PATCH 或方法覆盖头(X-HTTP-Method-Override: DELETE);测试 URL 路径操纵(/api/users/123/../456/profile)绕过基于路径的授权检查。
- 输入校验与注入测试:向每个参数插入 ' OR 1=1--、' UNION SELECT NULL,NULL-- 和基于时间的盲注载荷('; WAITFOR DELAY '0:0:5'--),用 sqlmap 自动检测和利用确认的注入点;用 <script>alert(document.domain)</script>、"><img src=x onerror=alert(1)> 和事件处理器测试反射型、存储型和 DOM 型 XSS,覆盖 HTML body、属性、JavaScript 和 URL 等所有上下文;在获取外部资源的参数(webhook、图片 URL、导入功能)中提供内部 URL(http://169.254.169.254/latest/meta-data/、http://127.0.0.1:6379/)测试 SSRF;在服务端处理的参数中插入 OS 命令分隔符(;、|、&&、`)后接命令(id、whoami、ping -c 3 collaborator.net)测试命令注入;在 XML 上传或 API 端点提交带外部实体声明的 XML 载荷(<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>)测试 XXE;在模板引擎渲染的参数中用 {{7*7}}、${7*7}、<%= 7*7 %> 测试 SSTI。
- 会话管理测试:收集 100+ 会话令牌并用 Burp Sequencer 分析随机性,检查令牌长度(至少 128 位熵)、字符集和可预测性;捕获会话令牌,等待超过空闲超时和绝对超时后重放,验证会话过期;验证会话 Cookie 设置了 Secure、HttpOnly 和 SameSite 标志(缺少 HttpOnly 会导致基于 XSS 的会话窃取,缺少 SameSite 会导致 CSRF);识别状态变更操作(改密码、改邮箱、转账)并测试能否从跨源页面在无有效 CSRF 令牌时触发;测试应用是否限制并发会话数,以及从新位置登录是否使旧会话失效。
- 业务逻辑测试:用 Burp Turbo Intruder 发送多个同时请求,利用 TOCTOU 漏洞(重复消费、优惠券重用、重复投票);直接请求后续阶段端点,尝试跳过多步流程(结账、注册、审批)中的步骤;将价格、数量或金额改为负数、零或极大值,测试整数溢出或逻辑错误;通过修改 MIME 类型、双扩展名(file.php.jpg)、空字节(file.php%00.jpg)和 content-type 操纵测试文件上传限制绕过。
- 报告与修复指导:用业务语言撰写描述整体应用安全状况的执行摘要;每个发现记录标题、严重性(CVSS 3.1)、受影响 URL/参数、描述、复现步骤、截图和 Burp 的 HTTP 请求/响应;为每个发现提供具体修复建议,包括适用的代码级修复;包含按严重性分布的风险矩阵;安全交付报告(加密,不要用邮件附件)并与开发团队安排发现讲解会。
适用边界 · 注意事项
- 未获得书面授权时,不得对 Web 应用进行测试
- 未经明确批准,不得在高峰流量时段测试生产系统
- 不得对 Web 基础设施进行拒绝服务测试