目标凭据
在进行企业内外部安全评估或自动化 API 安全测试时,往往需要携带特定权限的测试账号凭据(如管理员 vs 普通用户)。TestNet 提供了专门的目标凭据管理中台,支持对测试目标的鉴权信息进行结构化纳管,并支持在请求中动态安全注入与全自动越权矩阵碰撞(BOLA / IDOR / BFLA 检测)。

支持的凭据类型
系统原生支持 6 种行业标准凭据协议:
| 凭据类型 (Type) | 注入载荷规范 | 适用场景 |
|---|---|---|
BASIC_AUTH | Authorization: Basic <base64> | 传统内网设备、监控后台、HTTP 基础认证 |
BEARER | Authorization: Bearer <jwt_or_token> | 现代化 RESTful API、OAuth 2.0、JWT 鉴权微服务 |
TOKEN | 原始令牌存储,按目标注入模板挂载 | 通用令牌类凭据(非标准 Bearer 头场景) |
COOKIE | Cookie: key1=val1; key2=val2 | Web 单页应用、传统 Session-Cookie 架构系统 |
API_KEY | 自定义 Header(如 X-API-Key: xxx)或 Query 参数 | OpenAPI、开发者网关、第三方聚合接口 |
HEADER_MAP | 多个自定义 Header 键值对批量注入 | 定制私有网关、灰度鉴权等多头注入场景 |
凭据纳管与安全注入
进入系统左侧导航 「AI」→「凭据管理」 页面。
1. 新增目标凭据
点击右上角「新增凭据」按钮配置:
- 凭据标识/名称:如
测试租户A-普通用户或测试租户B-超级管理员。 - 关联项目:指定凭据的作用域项目,防止跨项目越权调用。
- 目标作用域 (Target Host):例如
api.target.com(防止凭据被错误注入到其他第三方域名造成泄露)。 - 凭据形态:Web 表单按「密码类 (PASSWORD) / Header 类 (HEADERS)」两种形态录入;6 种协议类型由注入引擎与 MCP
save_cred接口支持。 - 凭据载荷 (Value):输入 Token、Cookie 串或密钥内容(界面回显时自动脱敏展示)。
2. 动态剥离与覆盖机制
当渗透测试中继发送请求时,底层凭据服务会自动激活两大安全机制:
- 旧鉴权头自动剥离 (
stripAuthHeaders):清理原有请求中遗留的过期或默认Authorization、Cookie头,防止请求头污染。 - 新凭据动态覆盖 (
replaceCredentialInHeaders):根据选定的测试角色身份,将目标凭据原子化注入到 HTTP Headers,确保测试行为 100% 准确。
自动化越权碰撞测试
越权漏洞(BOLA/IDOR/BFLA)是现代 API 最普遍且危害最大的安全风险之一。TestNet 将越权检测固化为可复用的自动化测试流水线:
自动化越权验证流程
- 录入对照凭据:在凭据库中准备至少两组测试身份(如
Role: Admin与Role: Guest)。 - 触发越权测试:
- 由外部 AI Agent 调用
testnet_access_control(action="matrix_test")发起(也可在 MCP 客户端中手工指定目标 URL 与测试凭据别名); - 越权矩阵测试当前通过 MCP 接口提供,Web 界面暂无独立入口。
- 由外部 AI Agent 调用
- 判定规则与报告:
- 系统会自动使用未授权、低权限两组凭据发起变异重放。
- 若低权限凭据仍能获取与高权限完全一致的业务载荷(状态码 200,且关键字段匹配),系统自动标记 BOLA/IDOR 高危漏洞,并生成复现证据流。
外部 AI MCP 工具联动
AI 智能体可以通过下列 MCP 门面接口闭环执行凭据与越权管理:
json
// 调用示例:testnet_access_control(action="matrix_test")
{
"action": "matrix_test",
"url": "https://api.target.com/user/profile",
"method": "GET",
"test_credentials": ["cred_admin", "cred_guest", "ANONYMOUS"]
}testnet_access_control(action="save_cred")(原子名testnet_save_target_credential):动态保存渗透过程中截获或测试提供的目标 Cookie/Token。testnet_access_control(action="list_creds")(原子名testnet_list_target_credentials):列出当前项目可用的测试凭据及角色标识(仅元数据,不回显明文)。testnet_access_control(action="matrix_test")(原子名testnet_test_access_control):一键发起原身份/低权限/匿名多路越权变异比对。