Join our Newsletter — 33% off our NHI Course
Home FAQ Cyber Security What is the difference between reflected XSS and…
Cyber Security

What is the difference between reflected XSS and DOM XSS in cloud application security?

← Back to all FAQ
By NHI Mgmt Group Editorial Team Updated September 20, 2026 Domain: Cyber Security

Reflected XSS is triggered when malicious input is sent to the server and immediately returned in the response, where the browser executes it in the site’s context. DOM XSS happens when client-side JavaScript itself processes unsafe data and injects it into the page. Reflected XSS is server driven, while DOM XSS is caused by unsafe browser-side handling of data.

Server-returned payloads versus browser-side document mutation

Reflected XSS and DOM XSS both end with script execution in the victim’s browser, but they break the trust boundary in different places. Reflected XSS uses the server response as the delivery path for attacker-controlled content, so the dangerous data is visible in the request and response flow. DOM XSS stays on the client, where trusted JavaScript reads unsafe data and writes it into the page.

The distinction matters in cloud application security because modern front ends often sit behind APIs, CDNs, WAFs, and service meshes. A response that looks harmless at the edge can still become dangerous if browser code later inserts URL parameters, fragment data, postMessage content, or API fields into the DOM without safe encoding or sanitisation.

For testing, reflected XSS is usually easier to reproduce from the network trace, while DOM XSS often requires inspecting JavaScript execution paths, sinks, and data flow in the browser. That means secure review has to include both server-side output handling and client-side rendering logic, especially in single-page applications where the browser does much of the final page assembly.

Why the attack path changes your control focus

Reflected XSS is typically prevented by correct output encoding at the response boundary, strong input handling, and templates that never trust raw user content. DOM XSS is prevented by controlling the client-side sink, avoiding dangerous DOM APIs, and treating untrusted data as hostile even after it reaches the browser. In practice, the same payload may be blocked server-side in one app and still succeed in another through unsafe client rendering.

Cloud deployment patterns can obscure this difference. Reverse proxies and application gateways may give teams a false sense that the edge is protected, but DOM XSS bypasses those assumptions because the final injection point lives inside browser logic. That is why source review, sink review, and data-flow review all matter, not just perimeter controls or request filtering.

For teams that need structured verification, the application-side rules in OWASP ASVS and the testing methods in OWASP Web Security Testing Guide are the most direct starting points. If you want a cloud-control lens, the CSA Cloud Controls Matrix helps connect application hardening to broader cloud governance.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
CIS Controls v816 — Application Software SecurityThe question concerns web application input handling and XSS prevention.
Recommendation — Build and test client and server output encoding into application security requirements.
NIST CSF 2.0PR.DS — Data SecurityXSS affects integrity of rendered application data and user sessions.
Recommendation — Protect data flows that reach browser rendering paths and validate output handling.

Practitioner Guidance

What to verify: Check whether unsafe data can reach a browser sink through rendered HTML, inline script, DOM APIs, or framework bindings. A reflected payload should die at the server response boundary; a DOM payload should never become executable after client-side processing.

Common mistake: Teams validate only the backend and miss front-end code that reuses location, hash, query string, storage, or API response values. In cloud apps, that gap is common when multiple teams own API, SPA, and gateway layers separately.

Practitioner takeaway: Treat reflected XSS as a response-generation problem and DOM XSS as a browser-data-flow problem, then test both paths explicitly because one control layer rarely closes both.

Deepen Your Knowledge

Sign up to our weekly newsletter — get 33% off our NHI Foundation Level Course

    NHIMG Editorial Note
    Reviewed and updated by the NHIMG editorial team on September 20, 2026.
    NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org