Skip to content

目标凭据 ​

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

目标凭据管理


支持的凭据类型 ​

系统原生支持 6 种行业标准凭据协议:

凭据类型 (Type)注入载荷规范适用场景
BASIC_AUTHAuthorization: Basic <base64>传统内网设备、监控后台、HTTP 基础认证
BEARERAuthorization: Bearer <jwt_or_token>现代化 RESTful API、OAuth 2.0、JWT 鉴权微服务
TOKEN原始令牌存储,按目标注入模板挂载通用令牌类凭据(非标准 Bearer 头场景)
COOKIECookie: key1=val1; key2=val2Web 单页应用、传统 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 将越权检测固化为可复用的自动化测试流水线:

自动化越权验证流程 ​

  1. 录入对照凭据:在凭据库中准备至少两组测试身份(如 Role: Admin 与 Role: Guest)。
  2. 触发越权测试:
    • 由外部 AI Agent 调用 testnet_access_control(action="matrix_test") 发起(也可在 MCP 客户端中手工指定目标 URL 与测试凭据别名);
    • 越权矩阵测试当前通过 MCP 接口提供,Web 界面暂无独立入口。
  3. 判定规则与报告:
    • 系统会自动使用未授权、低权限两组凭据发起变异重放。
    • 若低权限凭据仍能获取与高权限完全一致的业务载荷(状态码 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):一键发起原身份/低权限/匿名多路越权变异比对。

相关文档 ​

最近更新

基于 MIT 协议发布