用途:针对实现完整业务流程的多步 API,验证其在每一步均无需鉴权时,匿名攻击者能否参与并操控核心业务逻辑,包括提交表单、上传文件、完成交易与导出数据。
适用前提:API 提供多步工作流(start → step1 → step2 → … → complete);任一步骤均不需要令牌、会话 Cookie 或 API Key;返回可跨步骤复用的会话标识(UUID、token);流程含文件上传、数据提交或导出;错误信息泄露预期请求格式。运行环境需终端、curl 与 python3。
主要能力与用法:先用 curl 批量探测常见流程起点,如 /start、/api/start、/api/v1/start、/begin、/init、/api/interview/start、/api/session/start,以 HTTP 200/201 判断端点存活并提取返回的 id、token、session 等字段。随后用 Python requests.Session 按 API 自然推进逐步骤映射流程,依据错误信息调整提交内容。若含文件上传,用 curl -F 测试无鉴权上传并检查返回的公开 URL;流程完成后测试导出端点,遍历 xlsx、csv、json、pdf、xml 等格式确认是否产出真实数据;若会话 ID 可预测,则枚举状态端点并尝试重放旧会话;若上传指向云存储,可提取 Supabase、Amazon S3、Google Cloud Storage 等 URL 继续深入。
注意事项:多步 API 常有按 IP 限速,步骤间应加 0.5–1 秒延迟;会话 ID 可能超时失效,失败时需重开流程;存在数据格式校验(邮箱、电话、文件类型),需依据报错调整;并非所有步骤都用 POST,也可能用 GET 查状态、PUT 更新、DELETE 取消;刚启动的流程导出可能为空,应走完全程再测导出。验证标准为:全程无鉴权完成流程、各步骤状态可变、上传文件可存储可获取、导出含真实数据、会话 ID 可枚举时可跨会话访问。相关技能包括 api-noauth-hunt、hardcoded-credential-hunt、hunt-write-gap、hunt-idor、firebase-supabase-attack。