DAST tests running applications by simulating attacks from the outside, identifying runtime vulnerabilities like injection flaws, misconfigurations, and authentication issues.
DAST (Dynamic Application Security Testing) is a black-box testing approach that analyzes running applications by sending crafted HTTP requests and evaluating responses for security weaknesses. It simulates real attacker behavior without accessing source code, identifying vulnerabilities in deployed applications including configuration and runtime issues.
DAST tests applications in their running state without source code access, finding runtime issues like misconfigurations and authentication flaws. SAST analyzes source code statically. DAST has fewer false positives since it confirms exploitability, but cannot pinpoint vulnerable code lines. Both approaches are complementary.
DAST effectively identifies SQL injection, cross-site scripting, broken authentication, security misconfigurations, sensitive data exposure, missing security headers, CSRF vulnerabilities, server-side request forgery, insecure cookie settings, and information leakage through error messages in running applications.
DAST cannot identify the root cause in source code, has difficulty with heavy JavaScript single-page applications, requires a running environment, may miss vulnerabilities behind complex authentication flows, cannot cover code paths not reachable through the UI, and testing can be slow for large applications.
DAST integrates into CI/CD pipelines by scanning staging or QA environments after deployment. Modern DAST tools offer API-driven scans triggered by pipeline events, headless browser crawling for SPAs, incremental scanning for faster feedback, and integration with issue trackers for automated ticket creation.
Authenticated DAST scanning tests applications while logged in as various user roles, accessing protected functionality that anonymous scanning misses. It uses recorded authentication sequences, session tokens, or API credentials to test authorization controls, privilege escalation paths, and role-based access enforcement.
Prioritize DAST findings by confirmed exploitability, data sensitivity of affected endpoints, exposure level (internet-facing versus internal), CVSS score context, business criticality of the application, and compliance requirements. Focus on confirmed vulnerabilities over informational findings and validate high-severity issues manually.
Modern DAST tools support API testing by importing OpenAPI/Swagger specifications, Postman collections, or GraphQL schemas. They fuzz API parameters, test authentication mechanisms, validate input handling, and check for mass assignment and broken object-level authorization vulnerabilities specific to API architectures.