Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 305

DAST(动态应用安全测试)

审核人Cybersecurity entrepreneur & security researcher

DAST(动态应用安全测试) 是什么?

DAST(动态应用安全测试)对运行中的应用进行黑盒安全测试,通过网络发送请求并观察响应,以发现仅在运行时才暴露的注入、认证缺陷与配置问题。


DAST 工具通过 HTTP 等协议与已部署的应用交互,无需源码即可工作。它会爬取端点、构造恶意请求并分析响应,从而检测 SQL 注入、XSS、SSRF、身份认证缺陷、错误的 CORS 配置或不安全的 Cookie 等问题。由于看到的内容与攻击者相似,DAST 与 SAST 互为补充,可发现仅在运行时出现的问题,包括配置、基础设施和第三方服务引入的问题。通常在 staging 或 QA 环境中运行,并作为 CI/CD 的发布门禁。常见工具包括 OWASP ZAP、Burp Suite、Invicti、Acunetix 和 StackHawk。

工作原理

一次 DAST 扫描分为两个阶段。首先,爬虫(spider) 通过跟踪链接、解析 JavaScript 并重放录制流量来发现表单、参数和 API 路由,从而映射出应用的攻击面。其次,主动扫描器会用攻击载荷对每个输入进行变异,并根据响应码、时序、反射内容或错误特征来推断漏洞——例如,当 SLEEP() 载荷使响应产生可测量的延迟时,即可确认一次基于时间的盲注 SQL 注入。

现代 DAST 已转向 API 优先已认证 扫描:单页应用和 REST/GraphQL 后端对简单爬虫几乎不暴露任何内容,因此扫描器会读取 OpenAPI/Swagger 规范,并使用脚本化登录序列来到达受保护的功能。覆盖范围通常对照 OWASP Web 安全测试指南(WSTG)进行映射。DAST 的局限同样重要:它无法给出具体代码行位置,看不到不可达的代码路径,且在复杂的客户端状态下存在漏报风险——这正是团队将其与 SAST 和 IAST 搭配使用、而非单独依赖它的原因。为避免扫描生产环境并触发真实副作用(发送邮件、下单),扫描会被限定在非生产目标上,并设定明确的范围和排除清单。

flowchart LR
  A[运行中的应用<br/>staging/QA] --> B[爬虫 / spider<br/>映射端点]
  B --> C[主动扫描器<br/>注入载荷]
  C --> D{响应中<br/>存在异常?}
  D -->|是| E[报告发现<br/>SQLi / XSS / SSRF]
  D -->|否| F[标记端点为正常]
  E --> G[CI/CD 门禁<br/>构建失败 / 分诊]

示例

  1. 01

    在 CI 任务中对 staging API 运行 OWASP ZAP 自动扫描。

  2. 02

    使用 Burp Suite 以已认证会话对单页应用执行扫描。

常见问题

DAST(动态应用安全测试) 是什么?

对运行中的应用进行黑盒安全测试,通过网络发送请求并观察响应,以发现仅在运行时才暴露的注入、认证缺陷与配置问题。 它属于网络安全的 应用安全 分类。

DAST(动态应用安全测试) 是什么意思?

对运行中的应用进行黑盒安全测试,通过网络发送请求并观察响应,以发现仅在运行时才暴露的注入、认证缺陷与配置问题。

如何防御 DAST(动态应用安全测试)?

针对 DAST(动态应用安全测试) 的防御通常结合技术控制与运营实践,详见上方完整定义。

DAST(动态应用安全测试) 还有哪些其他名称?

常见的别称包括: 动态分析, 黑盒安全测试。

相关术语

另见