HTML5 PushState is dangerous. And you can't do anything about it.
blog.innoying.com
blog.innoying.com
https://accounts.google.com/reallyuglyurl?lotsofvars=true&XSS=here
once that hypothetical XSS is discovered, then the attacker can pushstate the page with the XSS to look like the login page...Personally, I'd rather take actions that don't require user interaction, like stealing the user's session cookie silently in the background or making other requests on their behalf to the website. That can be done via an invisible iframe on an otherwise legitimate website (which, I suppose, you could also consider to be "dangerous").