How is DOM-based XSS different from reflected XSS?
In reflected XSS the server injects the payload into the HTML it returns. In DOM-based XSS the server response is clean, and the flaw is in client-side JavaScript that reads an attacker-controlled value and writes it into a dangerous sink. The exploit can live in the URL fragment, which the server never receives.