Onam Security
Dynamic Testing (DAST)

What does our application look like to someone attacking it from outside?

Test the running application, not just the code that built it.

Onam's dynamic testing discovers the endpoints of a running web app or API, sends rate-limited test payloads at them, checks headers, cookies and CSRF protection, and reports what it could actually trigger.

SAST
source code
SCA + SBOM
dependencies
IaC
templates
DAST
running apps
Why this matters

The code passed static analysis.

Then the app went behind a load balancer that strips the HSTS header, a debug setting left stack traces switched on in staging, and an older endpoint still takes a URL parameter and fetches it server-side. None of that is visible in the repository. It is only visible to something that talks to the running app the way an attacker would.

What the code review cannot see

Static analysis reads the code you wrote. It does not see the reverse proxy that drops a security header, the framework default that leaks a stack trace, or the endpoint nobody documented.

Test the app as it actually runs
How does it actually work?

The mechanism, not the marketing

  1. 1

    You give a target URL you are authorised to test, a scan profile (quick, normal or deep) and, if the app needs it, authentication: basic, bearer token, cookie, OAuth2 or a custom header. Targets on private networks are refused unless that is explicitly enabled.

  2. 2

    Discovery builds an endpoint inventory from link and form crawling, JavaScript analysis, an OpenAPI description if the app publishes one, and common path patterns. All requests are rate-limited.

  3. 3

    Active tests send payloads for SQL injection (error-based and time-based blind), NoSQL injection, cross-site scripting, command injection, server-side template injection, path traversal, XXE, SSRF, open redirect, file upload and business-logic tampering.

  4. 4

    Passive checks look at every response for missing or weak security headers, cookie flags, CSRF protection and error messages that disclose internals.

  5. 5

    Findings are stored with the endpoint, severity, CVSS and description, shown on the DAST tab and scan page, and can be exported as JSON, HTML or SARIF. A DAST scan starts from the console when you add a target URL to a new scan, or through the API.

What do you actually get?

Specific outputs, measurable outcomes

Endpoint discovery
crawling, JavaScript analysis, OpenAPI parsing and path patterns
Injection coverage
SQL, NoSQL, command and template injection, and XSS
Server-side request checks
SSRF, XXE and path traversal
Logic and upload checks
open redirect, file upload handling and parameter tampering
Passive hygiene checks
security headers, cookie flags, CSRF and error disclosure
Authenticated scanning
basic, bearer, cookie, OAuth2 or custom header
Scan profiles
quick, normal or deep, chosen per scan
Portable reports
JSON, HTML and SARIF
Guard rails
rate-limited requests and private-network targets refused by default
The flow, in one picture

How Dynamic Testing (DAST) fits together

A target URL with optional authentication is crawled and parsed for endpoints, which receive active payloads and passive checks; findings export as JSON, HTML or SARIF
Discover, test, report. Only run it against applications you own or are authorised to test.
FAQ

Questions we get a lot

Treat it as you would any active test: the payloads are real injection attempts and can create data or trigger errors. Run it against a staging environment that mirrors production, and only against applications you own or are authorised to test.
Ready to see it live

Ready to see Dynamic Testing (DAST) on your app?

Give us a staging URL you are authorised to test. We will run a scan with you and go through what it found.