I had someone run a pentest against an application recently and one of the critical problems it found was when some garbage was passed in a URL like this:
http://example.com/index.php/
%27%3e%3c%69%4d%67%20%53%72%43%3d%78%20%4f%6e%45%72%52%6f%52%3d%61%6c%65%
72%74%28%34%37%34%31%32%29%3e
The problem is that the attacker simply adds a slash then some encoded javascript (an image tag with alert box), which kills the page. Simple and effective attack.
How do I code against it? I am already cleaning all expected user inputs (such as when a user passes index.php?id=<script>alert(1)</script>
). That part works fine.
How do I protect against unexpected data quoted below the first paragraph above? (Also, is there a specific name for this type of XSS attack?)